20. The method of claim 16 , wherein the first content viewer comprises wrapper code for a particular API, and wherein a new GUI application using a different GUI API is enabled to write its own wrapper code and reuse the second content viewer, which is non-GUI specific.
16. The method of claim 13 , further comprising: receiving information from the application via the first content viewer and the second content viewer at the model content provider, the received information being independent of any type of data structure, wherein the information indicates one of an addition, a modification, and a deletion of at least one element in the query model; and creating one or more additional elements using the model content provider based on the received information responsive to the received information being an addition to the plurality of elements in the query model.