protected function renderList()
    {
        $list = '';
        $alignSpaces = 8;

        // Count key length
        $keys = array_keys($this->options);
        $lengths = array_map('strlen', $keys);
        $longest = max($lengths);
        $longest = $longest >= $alignSpaces ? $alignSpaces : $longest;

        // Build select list.
        foreach ($this->options as $key => $description) {
            $tmpl = str_replace('{WIDTH}', $longest, $this->listTemplate);

            $list .= sprintf($tmpl, ' ', $key, $description) . "\n";
        }

        return rtrim($list);
    }