Intermediate commit
Fat model, skinny controller
DRY-up some templates and controllers, add some more testing