Events instead of middleware
Implement middlewares as Subscribers

emit after doing stuff not before

New events

Symfony EventDispatcher

Add custom Event classes

Specific events and tests

FailureSubscriber test