After some look at this approach, I really don't like it. It makes the logic flaw very complicated to understand in this specific case, and the fact that one step DEPENDS on the other annoys me. Basically by having only one event and encapsulating all the logic in listeners, it's nearly impossible to understand at first sight how the listener works.

I can see uses of this pattern (so thanks for having said it to me), but in this case, I'm not sure honestly.