public function trigger($event, $target = null, $params = null)
{
if (!$event instanceof Event) {
$event = new Event($event, $target, $params);
}
if (strstr($event->getName(), ':')) {
$namespace = substr($event->getName(), 0, strpos($event->getName(), ':'));
if (isset($this->listeners[$namespace])) {
$this->fire($this->listeners[$namespace], $event);
}
}
if (isset($this->listeners[$event->getName()])) {
$this->fire($this->listeners[$event->getName()], $event);
}
return $event->getTarget();
}