Class TypedEventEmitter<Events, Arguments, SuperclassArguments>
Typed Event Emitter class which can act as a Base Model for all our model
and communication events.
This makes it much easier for us to distinguish between events, as we now need
to properly type this, so that our events are not stringly-based and prone
to silly typos.
Typed Event Emitter class which can act as a Base Model for all our model and communication events. This makes it much easier for us to distinguish between events, as we now need to properly type this, so that our events are not stringly-based and prone to silly typos.