public function map($name, $callback, array $arguments = [])
    {
        $command = new Command($name, $callback, $arguments);
        $this->commands[$name] = $command;
        return $command;
    }