Couple of things: - [x] ~~separate business and view logic (to enable DRY overriding) [the way FOSUser does it](https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Controller/SecurityController.php#L88-L99)~~ (done in #564) - [ ] break it apart, currently there's 11 constructor dependencies (for example, once #555, `getClient()` becomes obsolete)