state changes emit events now