Event C++ inheritable class to implement PubSub/Mediator patterns