protected function executeChild(CommandInterface $command, $name = null) { $name = $name ?: static::guessEventName($child); $event = new CommandEvent($name, $command); $this->getEventManager()->attach($name, function (CommandEvent $event) { $result = $event->getTarget()->execute(); $event->setResult($result); }); $this->getEventManager()->trigger($event); return $event->getResult(); }