1. A computer-implemented method for context-based data pre-fetching for an application, the method comprising: creating a context model that defines a domain of situational information associated with an application, wherein the context model comprises one or more context variables and context events, and wherein each of the context variables is associated with an update frequency that controls how frequently chances in the context variables occur; populating one or more of the context variables within the context model based on a state of the application; instantiating a context for a specific mobile device and its user, based on the context model, to monitor one or more aspects of the situational information for the specific mobile device and its user; determining whether the instantiated context is active or inactive; subscribing to the context events of the instantiated context, wherein the context events are associated with changes in the context variables corresponding to the situational information for the specific mobile device and its user, upon a determination that the instantiated context is active; identifying a likely set of data needed by the application based on values of one or more of the context variables and the context events of the instantiated context; and executing a data selection function to generate a dataset for the application, based on the identified likely set of data needed by the application, wherein the dataset is unmodifiable by the application.