Cool Mediator implementation using weak references
Nuget: sharpmediator
var mediator = new Mediator();
mediator.Subscribe<SomeType>(this, SomeMethod);
All subscribers will be called:
mediator.Publish(new SomeType());
Don't want to receive any more messages? Just unsubscribe :)
mediator.Unsubscribe(this);