Only need to execute transaction 'stateChanged' callback once