Hi,
simply implement your own Global events and on your state have two global transitions, one coming from the usual user input channel, and one that you programmatically call within your logic.
this way you avoid messing with system events or proxies events, and it will be a lot easier to maintain and debug over time.
Bye,
Jean