ApplicationStartedEvent and ApplicationStoppedEvent should have a common ApplicationEvent interface as a parent, instead of the generic Event.