Going to need test spies and stubs for next bit.
Transitions between states seems to be working.

I'm a little suspicious of how easy that was.