public function removeListener($listener, $event = null)
	{
		if ($event)
		{
			$event = $this->resolveEventName($event);

			if (isset($this->listeners[$event]))
			{
				$this->listeners[$event]->remove($listener);
			}
		}
		else
		{
			foreach ($this->listeners as $queue)
			{
				$queue->remove($listener);
			}
		}

		return $this;
	}
public function removeListener($listener, $event = null)
	{
		if ($event)
		{
			$event = $this->resolveEventName($event);

			if (isset($this->listeners[$event]))
			{
				$this->listeners[$event]->remove($listener);
			}
		}
		else
		{
			foreach ($this->listeners as $queue)
			{
				$queue->remove($listener);
			}
		}

		return $this;
	}
public function removeListener ( $ listener , $ event = null ) { if ( $ event ) { $ event = $ this -> resolveEventName ( $ event ) ; if ( isset ( $ this -> listeners [ $ event ] ) ) { $ this -> listeners [ $ event ] -> remove ( $ listener ) ; } } else { foreach ( $ this -> listeners as $ queue ) { $ queue -> remove ( $ listener ) ; } } return $ this ; }
Remove the given listener from this dispatcher.
If no event is specified, it will be removed from all events it is listening to.

@param   object  $listener  The listener to remove.
@param   mixed   $event     The event object or name.
@return  object  This method is chainable.
Remove the given listener from this dispatcher . If no event is specified it will be removed from all events it is listening to .