1. A mobile device having a processor, a memory device, and a software architecture, the processor running one or more application programs, the software architecture comprising: first-order controller software instructions configured to interface the application program with a first-order data model; a first-order data object stored in the memory device in the form of the first-order data model, the first-order data object including a second-order data object; second-order controller software instructions configured to interact with the second-order data object.