rejk: "Other systems simply have a job dispatch thread; it would listen to Wimp_Poll, and dispatch jobs to handler threads. This is both simple, and good enough. "
Lovely! I assume you're talking about modifying the Wimp_Poll loop so that it schedules jobs with the kernel (rather than execute the event handler code directly), using semiphores to avoid races and deadlocks. In fact, in an object oriented environment, it seems a more elegant solution.