Realized it doesn't really matter if we draw a state just after it was changed.
Cleaned up the state machine a bit.
Added basic coordinate structures.