add 'pending' state to represent the delay between choosing an action, and when the results of that action are applied