pub trait Event: SealedEvent { }
This is trait that all Events share
This trait is sealed to prevent implementation. The only way to implement a new Event is by implementing CustomEvent
Event
CustomEvent