public function numberedChoice($question, array $choices, $default = null)
    {
        $labelKey = [];
        $labels = [];

        foreach ($choices as $key => $label) {
            $labelKey[$label] = $key;
            $labels[] = $label;
        }

        if (null !== $default) {
            $values = array_flip($labelKey);
            $default = isset($values[$default]) ? $values[$default] : null;
        }

        return $labelKey[$this->choice($question, $labels, $default)];
    }