Ich hab' mir das folgendermaßen vorgestellt: die Klasse, die ein Ereignis auslöst, implementiert eine Schnittstelle, wo dieses Ereignis deklariert ist. Diese Schnittstelle wird der Klasse, die das Ereignis weiterleiten soll (dem Event-Broker), über Injection als Parameter im Konstruktor übergeben. Und der Event-Broker implementiert dann auch eine Schnittstelle, wo das weiterzuleitende Ereignis deklariert wird. Und diese Schnittstelle wird wiederrum dem Endempfänger in seinem Konstruktor übergeben.
So sollte gewährleistet werden, dass die Sender- und die Empfänger-Klassen nichts voneinander wissen. Kann man diese Vorgehensweise als richtig betrachten?