Update and refactor MainCtrl spec

Whoops, #197 broke that spec. Used the opportunity to refactor the file
a bit.