Hi @raboulave, yours is a very interesting example. Your approach definitely works. I agree that it’s a bit cumbersome to have to save the event in a variable to re-trigger it in the submachine. It would be nicer to have a way to “inject” a past event into a new submachine state, but unfortunately that’s not currently supported. Good food for thought, though. BTW, why do you need to cast the context variabile? You should be able to just declare the variable of the correct type. Unless you are going to re-use the state class for different classes, in which case you are probably using a base class…