docs: def add_command_by_method_name(self, command, obj):
          """
          Lookup method named command in obj and call that method when the command is received.
          Raises ValueError if obj doesn't have a method named command
          :param command: str: name of the comand to wait for
          :param obj: object: must have a member function with the exact name of the command
          """
          func = getattr(obj, command)
          if func and callable(func):
              self.add_command(command, func)
          else:
              raise ValueError("Object missing {} method.".format(command))