By giving each middleware a name, they can now be replaced or moved around using the Middleware extender. Fixes #2115.