The ImageVision library, Digital Media Video Library and X11 XWindow systems are all based around asynchronous event and callback execution models. In this model, a typical application constructs its user interface, nominates routines to be called when particular events and situations arise, and then relinquishes control to a mainloop, which then handles the user interface and calls the user's callback routines at the appropriate times.
This model of execution is quite different to that of the Stereocam system, which is a synchronous model, without events or callbacks. As such, handling the ImageVision, Digital Media Video and X11 events and callbacks within Stereocam's framework posed quite a challenge. The solution found was to implement a limited, restricted, manual mainloop where a synchronous response was required. For example, interactivity in the X11 window of the OutputIlStereo module is described in Section 220.127.116.11.
Converting the entire Stereocam system to being asynchronous with events and callbacks is a possibility, discussed in Section 6.2.