def __init__(self, callback, *args, **kwargs):
    self.callback = callback
dict.__init__(self, *args, **kwargs)

def _wrap(method):

    def wrapper(self, *args, **kwargs):
        result = method(self, *args, **kwargs)
self.callback()
return result
return wrapper
Шаблон слушателя изменения свойства Python