docs: def setattr(self, attr, new_value, close_the_changeset=True):
          """If attribute value has changed then set it and call the callbacks"""
          existing_value = getattr(self, attr, None)
          if existing_value != new_value:
              setattr(self, attr, new_value)
              self._changeset[attr] = new_value
  
          if close_the_changeset and self._changeset:
              self._call_callbacks()