public function detach($event, $callback){
        $events = is_array($event) ? $event : array($event);
        $listeners = $this->getOption(self::OPTION_LISTENERS);
        foreach ($events as $event) {
            $eventObject = is_object($event) ? $event : new GenericEvent($event);
            $listeners = $this->removeListener($listeners, $eventObject, $callback);
        }
        $this->setOption(self::OPTION_LISTENERS, $listeners);
    }
public function detach($event, $callback){
        $events = is_array($event) ? $event : array($event);
        $listeners = $this->getOption(self::OPTION_LISTENERS);
        foreach ($events as $event) {
            $eventObject = is_object($event) ? $event : new GenericEvent($event);
            $listeners = $this->removeListener($listeners, $eventObject, $callback);
        }
        $this->setOption(self::OPTION_LISTENERS, $listeners);
    }
public function detach ( $ event , $ callback ) { $ events = is_array ( $ event ) ? $ event : array ( $ event ) ; $ listeners = $ this -> getOption ( self :: OPTION_LISTENERS ) ; foreach ( $ events as $ event ) { $ eventObject = is_object ( $ event ) ? $ event : new GenericEvent ( $ event ) ; $ listeners = $ this -> removeListener ( $ listeners , $ eventObject , $ callback ) ; } $ this -> setOption ( self :: OPTION_LISTENERS , $ listeners ) ; }
Detach a Listener from one or multiple events

@param mixed $event either an Event object or a string
@param Callable $callback
Detach a Listener from one or multiple events