1. A computer program product tangibly embodied in an information carrier, the computer program product comprising instructions operable to cause a data processing apparatus to: establish a model for an application, the model including multiple model elements; establish at least one view for presenting application data, the view including multiple user interface (UI) elements; establish at least one controller for manipulating the model and the view; establish a structure for storing application data for at least one storage area relating to the controller, the structure defined by multiple elements and directed relationships coupling the elements, at least one of the elements associated with a routine for retrieving and manipulating application data; and establish at least one binding between one of the UI elements and one of the structure elements.