transactions are tied to a state machine