Initial batch of updates

Hey Jacob!

I made a bunch of these changes last week but just this morning got a chance to explain what each discrete part does. I recommend going through each commit in a new tab so you can have some context - matching the comments in my commit messages and the changes I made in the code. Most of it right now is on the view and controller layer. From here I'm going to look into the model to see what might be causing the slowdown with a fully populated database.