/**
  * Removes this pattern's listener from all events to which it was
  * previously added.
  *
  * @param DispatcherContract $dispatcher
  */
 public function unbind(DispatcherContract $dispatcher)
 {
     foreach ($this->events as $eventName => $value) {
         $dispatcher->detach($eventName, $this->getListener());
     }
     $this->events = [];
 }