docs: def do(self):
          """
          Set a restore point (copy the object), then call the method.
          :return: obj.do_method(*args)
          """
          self.restore_point = self.obj.copy()
          return self.do_method(self.obj, *self.args)