# Knihovna Event (verze z 20. října 2026)

def understand_message(obj, message):
    return hasattr(obj, message)

def send_message(obj, message, *args):
    method = getattr(obj, message)
    method(*args)
    
class Announcer:
    def __init__(self):
        self.delegate = None
    
    def get_delegate(self):
        return self.delegate

    def set_delegate(self, delegate):
        self.delegate = delegate
        return self
    
    def send_event(self, event, *event_args):
        delegate = self.get_delegate()
        if delegate != None:
            if understand_message(delegate, event):
                return send_message(delegate, event, self, *event_args)



