Rewrote the Cells to use a State Machine.

All main update methods now run the state machine. All states should be
decoupled from their actors as much as possible.