1. A method, comprising: placing a first user input event in an event queue, the first user input event received from a web browser for a web document, the web document rendered in the web browser to represent a user interface; accepting one or more further user input events from the web browser for the web document while the first user event is in the event queue; dispatching the first user input event from the event queue to a server for processing; modifying, in the web browser, the web document to change the user interface according to data received from the server, the data to be presented or to be collected by the user interface, the data received from the server responsive to the first user input event; and modifying, in the web browser, the web document to change the user interface according to requests received from a user interface level application program interface; wherein the web document is modified through an implementation of a Document Object Model in the web browser.