'Get all publicly accessible commands
:returns: a list of string tuples (cmd, help), the method names who are
decorated as commands'

@classmethod
def list_commands(cls):

    get_method = (lambda cmd: getattr(cls, cmd))
    return sorted([(x.replace('_', '-'), get_method(x).__doc__.strip()) for x in dir(cls) if getattr(get_method(x), 'publicly_accessible', False)])
