1. A computer-based user interface comprising: a dialog control element that executes on a computer for usage in creating a dialog, configured to receive and act upon a data model containing recursive data structures comprising at least one object defined by at least one property and modifiable by at least one control, the dialog control element further configured to associate object properties with controls recursively whereby properties contain objects which further contain properties and responsive to a user request to modify objects by modifying user interface controls and modifying portions of the recursive data structure to reflect object modifications, wherein the dialog control element performs recursive operations by retrieving a template and repeats a dialog interaction for object properties contained in the at least one object and creates at least one control recursively corresponding to the object properties and the template.