/**
  * @param $name
  * @param InputInterface  $input
  * @param OutputInterface $output
  *
  * @return Daemon
  */
 protected function createDaemon($name, InputInterface $input, OutputInterface $output)
 {
     $that = $this;
     $daemon = new Daemon($name);
     $daemon->onStartup(function (Daemon $daemon) {
         $daemon->log('<info>%s daemon started.</info>', [ucfirst($daemon->getName())]);
         unset($data);
     });
     $daemon->registerLogger(function ($text, $args) use($that, $output) {
         $that->log($output, array_merge([$text], $args));
     });
     $daemon->onError(function (\Exception $e, Daemon $daemon) {
         $daemon->logException($e);
     });
     unset($input);
     return $daemon;
 }