Moved a lot of the logic into the controller instead to simplify.
Moved more code into private methods.
Fixed spec.
Attempt at simplifying smartsize
Another attempt at simplifying
More simplifications.
Merge pull request #6 from kaspernj/kj/move_into_controller

Move code into controller