>As you have said, one has to do the dispatching one's self. I believe that Events are integral to an OOP.
Usually they are, but I can imagine a complete OOP system without any Events at all. What are the events, anyway? They're connected to the GUI, or any other way of automatically calling method code. Great - you could have some quite different mechanism of triggering the same code, which doesn't change that code at all. You may develop an automation server, which is done throloughly OOP, and call it from another app, or from a command window. It may have no event code at all - but it's got most of the rest. Does the lack of event code (or inability to react to events in general) make it non-OOP?
The fact that most of the today's OOP paradigm is dedicated to washing the windows and developing visual bells and whistles ad maiorem Dei gloriam, doesn't necessarily mean the GUI and event loop are the bread and salt of OOP. Take Novell's NDS, which is completely OO - a nice implementation which would still remain OO even if we stripped all the event-related stuff off of it.