protected function command($command, $args)
    {
        $command = trim(sprintf('git %s %s', $command, Stringify::arguments($args)));
        list($output, $return) = $this->execute($command);
        if ($return != self::SUCCESS) {
            throw new CommandFailureException($output);
        }

        if (is_array($output)) {
            return array_map('trim', $output);
        }

        return trim($output);
    }