public function plugin($name = null) {
        $this->out();

        $pluginName = $name ?: $this->args[0];
        $plugin = Admin::getPlugin($pluginName);

        if (!$plugin) {
            $this->err(sprintf('<error>%s plugin does not exist</error>', $pluginName));
            return;
        }

        $this->out(sprintf('<success>Installing %s...</success>', $pluginName));

        // Create parent object
        $parent_id = $this->ControlObject->addObject($pluginName);
        $adminAlias = Configure::read('Admin.aliases.administrator');

        // Create children objects
        foreach ($plugin['models'] as $model) {
            $this->out($model['title']);

            $this->ControlObject->addObject($model['id'], $parent_id);

            // Give admin access
            $this->Permission->allow($adminAlias, $pluginName . '/' . $model['id']);
        }

        $this->out(sprintf('<success>%s model ACOs installed</success>', $pluginName));
    }