Routes prefixed with "route."

To be able to find/refactor them easily
Controllers are services now and don't extend any base Controller class

For proper dependency injection. This approach would help us to identify incorrectly wired services when the DI container is being build (= very soon).

When you extend the base Controller class, you may find problems much later like when you access the controller page.
Template defined using annotation in all cases
Better routing

Its nicer to have same route paths (/album/new) and use @Method("POST") or @Method("GET") to distinguish between GET and POST requests