The event one seems perfectly fine with a dictionary or even a class that wraps your events and pairs with an event object subscribers can attach to with a singleton attribute.