docs: def observe(self, key, callback: Callable[[Any, Any], None]):
          """Subscribes to key changes"""
          if key not in self.__dict__ and key not in self._callbacks:
              raise KeyError('Entity ' + str(self) + 'doesn''t have attribute' + key)
          super().observe(key, callback)