The kernel now always returns a response
In the before method the user will be allowed to add additional middleware to the application.
It's the user's responsibility to (optionally) add the previous kernel