add new state_changed_on_call to detect state changes on callbacks