Yes, it should exist as a trait. But the main problem is that is uses a request scope. And also uses the reverse routing lookup to find out what URLs it should use as the OpenID callback, login, and also redirects to an `/admin` route which doesn't exist in facia-tool.

The added benefit from having two seperate controllers was that once I switch on the forcing of having to enter a password on logout each time, it wouldn't affect the dev tools in admin.

I have thought about perhaps having an abstract trait in common which a general format you should adhere to?