All the framework events

- RequestEvent is fired when the application starts
- RouteEvent is fired after, and a routelistener should try to find a matching route
- ControllerEvent is fired after, and should try to convert the route's controller to a valid callback
- ResponseEvent is fired last, and should try to convert the response from the controller to a valid Response object
The core framework listeners

Responsible for finding a route, validating the route controller and converting the response
The kernel interface for middleware implementations
The kernel that boots the framework

It runs the entire framework through firing the four events (request, route, controller, response)