Refactor login logic to the login widget.

**DO NOT MERGE**

A little work needs to be done yet.
nice catch!, that action was triggered by I signal that's no longer among us.
Added as a first action for this method.