26. A system configured to perform context-based data pre-fetching and notification for an application, comprising: a context modeling module configured to create and maintain a context model that defines a domain of situational information associated with an application, wherein the context model comprises at least 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 changes in the context variables occur; a context variable module configured to populate and update one or more of the context variables within the context model based on a state of the application; a data selection module configured to determine a dataset for the application, wherein the determination is based on values of one or more of the context variables and the context events of at least one instantiated context that is based on the context model, and wherein the dataset is unmodifiable by the application when the application; an inference module configured to maintain an inference engine used by the data selection module to identify a likely set of data needed by the application; an event engine module configured to subscribe 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; and a notification module configured to generate a notification for the application, wherein the notification comprises at least a non-modifiable dataset and associated metadata describing data contained within the non-modifiable dataset wherein at least one of the modules is implemented using one or more computer processors.
26. A system configured to perform context-based data pre-fetching and notification for an application, comprising: a context modeling module configured to create and maintain a context model that defines a domain of situational information associated with an application, wherein the context model comprises at least 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 changes in the context variables occur; a context variable module configured to populate and update one or more of the context variables within the context model based on a state of the application; a data selection module configured to determine a dataset for the application, wherein the determination is based on values of one or more of the context variables and the context events of at least one instantiated context that is based on the context model, and wherein the dataset is unmodifiable by the application when the application; an inference module configured to maintain an inference engine used by the data selection module to identify a likely set of data needed by the application; an event engine module configured to subscribe 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; and a notification module configured to generate a notification for the application, wherein the notification comprises at least a non-modifiable dataset and associated metadata describing data contained within the non-modifiable dataset wherein at least one of the modules is implemented using one or more computer processors. 27. The system of claim 26 , wherein the notification module is further configured to populate a variable indicating whether the notification is actionable or informational.