Register an event handler
to register
Invoke the event and notify handlers
Event args to pass to the handlers
Construct an object to serve as the publicApi of this event. This makes it so an event can be used as "pre-bound" function, and also prevents "invoke" from being called externally
Unregister an event handler
to remove
Register an event handler