Going forward, decisions determined by current request
should be done in an app or route middleware.
Application should be setup agnostic to the current request.
Route middlewares apply only to a certain route or group of routes.
See {@see \Bolt\Controller\Async\AsyncBase::before} for an example.
App middlewares apply to all routes.
See classes in \Bolt\EventListener for examples of these.
These middlewares could also be filtered by checking for Zone inside of listener.