1. Fundermentally different "Activation" (event-based and is centralized in the main event loop) and "Rendering" (state-based and is distributed throughout the code of the event handlers).

    2.  
    3. Object-oriented methods (such as UML) fall short in the user interface aspects described above.