Added a LoginBean (gonna call viewmodels "Beans" instead of
"Controllers", since they're not really controllers)