@classmethod
def from_cli(cls, cli, parent, name):
    """
        cli: joffrey.core.CLI object to create command from
        parent: ParserBase object to attach new command to
        name: name of new command

        Creates a command from a preexisting ParserBase object. Helps with extensibility.
        """
    obj = cls(cli.flag_prefix, parent=parent, name=name, desc=cli.desc)
    obj.__dict__.update(vars(cli))
    return obj
