protected function run($args)
    {
        if (!isset($args[0])) {
            return "> Producer: Command required.\n";
        }

        switch (trim($args[0])) {
            case 'init':
                return $this->runInit($args);
            case 'autoload':
                return $this->cmdAutoload($args);
            case 'check':
                return $this->cmdCheck($args);
            case 'test':
                return $this->cmdTest($args);
            case 'clone':
                return $this->cmdClone($args);
            case 'mount':
                return $this->cmdMount($args);
            case 'purge':
                return $this->cmdPurge($args);
            case 'reset':
                return $this->cmdReset($args);
            case 'update':
                return $this->runUpdate($args);
            case 'install':
                return $this->cmdInstall();
            case 'publish':
                return $this->cmdPublish($args);
            case '--version':
                return $this->cmdVersion();
            case '--help':
                return $this->cmdHelp($args);
            default:
                return "> Producer: Undefined '{$args[0]}' command.\n";
        }
    }