1. A method to maintain a user interface context in a domain application, the method including: generating a user interface on a web client at a client device for the domain application hosted by a remote server from one or more user interface components that control the user interface, the domain application executing under the web client at the client device, each user interface component of the domain application user interface including a metadata definition of user interface elements including a definition of a layout of the user interface elements on the client device, wherein each user interface component includes user interface logic to control the user interface elements defined in its metadata definition, the user interface elements providing a graphical representation of data objects hosted by the server, each user interface component being either displayed in the user interface or hidden from view, where data and interface logic of user interface components hidden from view are included in a persistent layer stored in the user interface, but are not displayed in the user interface, wherein data automatically flows between data objects bound to the user interface elements and their corresponding user interface elements defined in the user interface component, and wherein the user interface includes an input field to receive data input from a user to execute a task of the domain application; receiving a request at one of the user interface components during execution of the domain application for a first user interface element that is hidden from view on the user interface and is related to information needed to perform a task in the domain application but is not displayed in the user interface when the request is received, where the first user interface element exists within the user interface component but is not displayed; displaying the first user interface element in the user interface context in response to receiving the request at the one user interface component including integrating user interface elements of the one user interface component into the user interface, the first user interface element to provide data elements as options to enter into the input field to execute the task of the domain application to affect data objects hosted by the server and bound to the user interface elements; receiving a user selection at the user interface component of one or more data elements of the first user interface element representing the data objects; and regenerating the user interface of the executing domain application to integrate the selected data elements into the input field of the user interface in response to receiving the user selection.