clean up login, add styling
basic profile
make login process way smarter, refactoring

Now we have a UserFactory that will handle most of the details
we need after logging in. This is way better than what was
happening before.