23   private $_listeners = array();
 
   29     if (!isset($this->_listeners[$eventName])) {
 
   30       $this->_listeners[$eventName] = array();
 
   32     $this->_listeners[$eventName][] = $callback;
 
   39     if (isset($this->_listeners[$eventName])) {
 
   41       for ($i=0, $count=
sizeof($this->_listeners[$eventName]); $i<$count; $i++) {
 
   42         $curCallback = $this->_listeners[$eventName][$i];
 
   43         if ($curCallback != $callback) {
 
   44           $listeners[] = $curCallback;
 
   47       $this->_listeners[$eventName] = $listeners;
 
   55     if (isset($this->_listeners[$eventName])) {
 
   56       for ($i=0, $count=
sizeof($this->_listeners[$eventName]); $i<$count; $i++) {
 
   57         $curCallback = $this->_listeners[$eventName][$i];
 
   58         call_user_func($curCallback, $event);
 
isStopped()
Check if the event is stopped. 
 
EventManager is responsible for dispatching events to registered listeners. 
 
dispatch($eventName, Event $event)
 
DefaultEventManager is a simple EventManager implementation. 
 
Event is the base class for all events. 
 
addListener($eventName, $callback)
 
removeListener($eventName, $callback)