/** * Get EventDispatcher instance. * * @param EventDispatcherInterface $dispatcher * * @return EventDispatcherInterface */ public static function getManager(EventDispatcherInterface $dispatcher = null) { if (self::$dispatcher) { return self::$dispatcher; } if (null === $dispatcher) { throw new \InvalidArgumentException('No event dispatcher was specified or previously loaded'); } self::$dispatcher = $dispatcher; return self::$dispatcher; }