public function githubIssueStart()
    {
        $listings = $this
            ->getIssueListing();

        $issue = $this->doAsk(
            new ChoiceQuestion('Select GitHub issue:', $listings)
        );
        $user = $this->getUser();
        $number = array_search($issue, $listings);

        $this
            ->taskGitHubIssueAssignees($this->getToken())
            ->setAccount($this->getAccount())
            ->setRepository($this->getRepository())
            ->number($number)
            ->addAssignee($user)
            ->run();

        $this->say(
            sprintf('GH-%d issue was assigned to %s on GitHub.', $number, $user)
        );

        if ($this->ask('Create Git branch? (yes/no) [no] ')) {
            $branch = $this->normailizeBranchName("$number-$issue");
            $command = $this->hasGitFlow()
                ? "flow feature start '$branch'"
                : "checkout -b '$branch'";

            $this->taskGitStack()
                ->stopOnFail()
                ->exec($command)
                ->run();
        }
    }