Massive refactor, MVC, 4 spaces, and fancy shmancy things