public function __construct(array $eventMap = null)
{
if (null !== $eventMap) {
foreach ($eventMap as $eventName => $listeners) {
if (is_string($listeners) || is_object($listeners) || is_callable($listeners)) {
$listeners = [$listeners];
}
$this->route($eventName);
foreach ($listeners as $listener) {
$this->to($listener);
}
}
}
}