state machine only handles transitions now. actions happen from main logic. Trying to decouple more