I've recently picked up the JKI state machine and am really enjoying it. However, I have a (hopefully not stupid) question regarding the UI aspect of it.
From what I see, the event structure only ever executes while the state queue is empty. In this event structure you put controls that you want to use to trigger new actions and other controls you put in a case to read as necessary? How then do you ensure responsiveness from one of the event controls if the state machine is off running for awhile through the queue? For example to have the program respond to a click of the built in 'OK' button and stop execution immediately rather than waiting an indeterminate amount of time while emptying the queue?
Perhaps my thoughts aren't too well organized, but any pointers to discussions or just some advice would be great. I think what I'm after may be an asynchronous design and to move the event structure to a parallel loop? A simple example would probably speak a 1000 words here.