Blueprint communication: Decoupling Events between sender and receiver objects

Yes, I wish there would be a true publish-subscribe pattern already implemented in UE4.
Maybe it is possible to implement such a system in C++ in a performance sensitive way and expose it to BP?