One last thing. Even in a fully threaded model, you still need the ability to inject code into another thread. Why?