Allow custom user middleware
Make custom middleware easier to apply