Observer Pattern using events and delegates

Hey folks,

Who knows any resource or maybe has something in mind about such system?

I want to build a notification system between my components.
I know how to make the most basic one for just component to component communication.
I know also a way to make a more independent Notification Manager using singleton and storing everything in a dictionary in key(methodName) - value(List) way.
But I want to push it further.
I want to make a unique instance of my EventManager class (using a Singleton apparently) that will hold all the delegates and event declarations. And I want to just reference them in my “Sender” and “Receiver” classes. In a “Sender” class I would call for an event and in a “Receiver” class I would subscribe to that event and call the final method. I know how to accomplish everything without a unique EventManager class but it makes my code a bit dirty by dropping my delegate/event declarations in each class that is being “listened to”.
Or maybe there is already known approach to it?

Please, suggest something! And thanks in front!

I’ve been looking into a similar thing. I’ve found two resources so far- This Gamasutra article has a prototype messaging system, however as the comments note it doesn’t use delegates and isn’t an optimal solution.

I’ve also come across this wiki.unity3d page that looks promising, but I’ve only done a cursory glance.

It’s surprising their isn’t more Unity-Observer resources online. Do post any resources/information find!