1. A method comprising: receiving, at a client communication manager on a client system, a data update from a document data processor on a server system, wherein the data update specifies a data item to be collected by a user interface, and the user interface provides user access to an application on the server system; generating, by a user interface rendering engine on the client system, a modification to be made to the user interface, wherein the modification is based on the data update, before the generating the modification, the user interface does not comprise a first user interface element that is required to collect the data item, and the modification is configured to implement the first user interface element in the user interface; modifying, by the user interface rendering engine, a web document in a web browser to add the first user interface element to the user interface according to the modification, wherein the web document is configured to represent the user interface by virtue of being configured to be rendered in the web browser, and the modifying the web document results in the user interface comprising the first user interface element; receiving a modification request at the user interface rendering engine directly from a custom module via an Application Program Interface (API), wherein the custom module comprises a custom script program, the custom script program is configured to run in the web browser on the client system, and the custom module is configured to customize the user interface; determining, by the user interface rendering engine, a second modification to be made to the user interface, based on the modification request; and modifying by the user interface rendering engine, the web document to change the user interface according to the second modification.