I am a scriptor and find you can interupt Hals flow fairly easy by writing script to the PRE_PROCESS area of Hals script. Using a self-written Plug-in you can also define key words to your individual Hal. References to tables like PREVIOUS_SENT, and the like, can also steer what Hal responds.
I know this is vague, deliberately so, as it is just a spring board for ideas. Happy hunting.