* don't use __container__
* register it as a factory on container and inject into routes and
controller
* avoid afterSignIn errors by checking on hooksTarget, ApplicationRoute
should register itself as a hooksTarget
* keep user info on auth
If we keep it only on states lower than root and afterSignIn is sent
when app is still in root.loading (which is often the case as we need to
wait for repository deserialization), it will try to find afterSignIn on
root.