docs: def add_cmd_method(self, name, method, argc=None, complete=None):
          """Adds a command to the command line interface loop.
  
          Parameters
          ----------
          name : string
              The command.
  
          method : function(args)
              The function to execute when this command is issued. The argument
              of the function is a list of space separated arguments to the
              command.
  
          argc : int, optional (default=None)
              The number of expected further arguments. If None arguments are
              not restricted.
  
          complete : function(args, text), optional (default=None)
              A function that is called to complete further arguments. If None
              no suggestions are made. The function gets the arguments up to the
              incomplete argument (args). text contains the to be completed
              argument. The function must returns a list of suggestions or None
              if text is valid already and there are no further suggestions.
          """
          if ' ' in name:
              raise ValueError("' ' cannot be in command name {0}".format(name))
          self._cmd_methods[name] = method
          self._cmd_argc[name] = argc
          self._cmd_complete[name] = complete