event decorator without fsm