manual state change should always set the current state to action, not the new state