1. A method of developing a first application, the method comprising: accessing a graphical user interface of a developer exchange system; using the graphical user interface of the developer exchange system, selecting a first function from a plurality of functions in a function ontology; receiving, from the developer exchange system, processor-executable instructions for integration into the first application, wherein, when the first application is downloaded to and executed on a user device, the processor-executable instructions perform (i) sending a function module request from the user device to the developer exchange system, (ii) receiving a function module provided by the developer exchange system at the user device, (iii) executing the provided function module on the user device, and (iv) on the user device, presenting display data from the provided function module within the first application, wherein the function module request identifies the first function; integrating the processor-executable instructions into the first application, including designating an area in which to display the display data to a user; and integrating the display data into a first state template, including reserving the area in the first state template for display of the display data from the function module, wherein in response to the first application instantiating a state from the first state template, the function module is invoked and the display data generated by the function module is displayed in the reserved area, and wherein the processor-executable instructions include: in response to instantiation of the state from the first state template, sending the function module request to the developer exchange system; storing the provided function module provided by the developer exchange system; sending another function module request to the developer exchange system each time a state is instantiated from the first state template; and in response to a subsequent function module request with respect to the first state template causing the developer exchange system to provide a different, second function module, purging the provided function module from storage.