track resolved and observed state, and react appropriately