Cleaned up events and implemented a cache warmer that will crawl the configured events directory and register any events implementing the EntityEvent interface.