private function createTracker(InputInterface $input)
    {
        switch ($input->getArgument('type')) {
            case 'github' :
                $tracker = new GithubTracker($input->getOption('username'));
                break;
            case 'jira' :
                $tracker = new JiraTracker($input->getOption('host'), $input->getOption('username'), $input->getOption('password'));
                break;
            case 'gitlab' :
                $tracker = new GitlabTracker($input->getOption('host'), $input->getOption('username'));
                break;
            case 'bitbucket' :
                $tracker = new BitbucketTracker($input->getOption('username'), $input->getOption('password'));
                break;
            default :
                throw new \InvalidArgumentException(sprintf('unknown type "%s"', $input->getArgument('type')));
        }

        return $tracker;
    }