fire event before pushing the state