def __setattr__(self, attr, value): if attr in [ "position", "label", "shape", "size", "color", "filled", "comment" ]: old_value = getattr(self, attr, None) object.__setattr__(self, attr, value) self.notify_observers(attr, old_value=old_value) else: Observable.__setattr__(self, attr, value)