I see that in the various FooSimulator>>openAsMorph methods the basic morph used to display the simulated Smalltalk image is an ImageMorph on the Smalltalk image's displayForm.  Looking at the event handling it looks like this bottoms out at methods like

Morph>>mouseDown: evt 
"Handle a mouse down event. The default response is to let my 
eventHandler, if any, handle it."
evt yellowButtonPressed
ifTrue: ["First check for option (menu) click"
^ self yellowButtonActivity: evt shiftPressed].
self eventHandler
ifNotNil: [self eventHandler mouseDown: evt fromMorph: self]


So it could be straight-forward to plum-in a suitably-written event handler (e.g. an object that wraps the FooSimulator so that it can be reused in each of the simulators, instead of using the simulator as the eventHandler itself).  Any volunteers?

Now that I know where to look, I will take a stab at it.