The action, that will be done after handling an event by a layer.
A trait for types, that can handle specific event types.
A trait, every layer has to implement, in order to be used by the layer manager;
A system trait, which process their events by passing them to handlers. Systems generate events and pass them to a handler.
Starts the engine.