#463 - In Progress - Login UI working + shim

So far so good, I still need to hook up the actual on login/ on logout functionality to the correct states.

I may need to rethink the logic since the new login uses a slightly different event model
Or do we need the module to return a new instance on each function call?