Changed how the controller works. It's DRYer and less limiting now. Updated all the tests which fixes issue #36
More refactoring. Switched tabs to double spaces.