from update import update class Message: def update_model(self, model): raise NotImplementedError("This message does not implement update_model method") def reset(self): return True class ClickMessage(Message): def __init__(self, event): event.stopPropagation(); def msg(message_class, params): def callback(event): message_instance = message_class(event, params) update.schedule(message_instance) return callback