'Format the node text + option section
Args:
nodetext (str): The node text
optionlist (list): List of (key, desc) pairs.
Returns:
string (str): The options section, including
all needed spaces.
Notes:
This will adjust the columns of the options, first to use
a maxiumum of 4 rows (expanding in columns), then gradually
growing to make use of the screen space.'

def _format_node(self, nodetext, optionlist):

    nodetext = self._nodetext_formatter(nodetext, len(optionlist), self.caller)
    optionstext = self._options_formatter(optionlist, self.caller)
    return self._node_formatter(nodetext, optionstext, self.caller)
