And now, login/logout is sync across tabs/windows.
Persist data into Firebase if user is logged.

Plus some nice refactoring.