A system for performing processing on behalf of applications of a device, the system comprising: a virtual environment comprising a web browser within which at least one application comprising a web application is executing on the device; and a worker host component executing on the device outside of the virtual environment and configured to: upon receiving a request from an application to execute a worker process comprising a web worker executing outside of the web browser and involving an execution event, initiate execution of the worker process on behalf of the at least one application outside of the virtual environment, the execution event including the completing of a computational process or detecting of a device event; upon detecting termination of the application, refrain from terminating the worker process thereby separating a life cycle of the worker process from a life cycle of the application and managing the life cycle of the worker process independently of the life cycle of the application; and upon the worker process achieving the execution event, notify the application of the execution event of the worker process, wherein notifying the application includes re-initiating the application if it is not currently executing; wherein the worker host component is configured to restrict the execution of the worker process according to a cross-domain security policy being the same as a cross-domain security policy applied to the web application executing within the web browser. a virtual environment comprising a web browser within which at least one application comprising a web application is executing on the device; and a worker host component executing on the device outside of the virtual environment and configured to: upon receiving a request from an application to execute a worker process comprising a web worker executing outside of the web browser and involving an execution event, initiate execution of the worker process on behalf of the at least one application outside of the virtual environment, the execution event including the completing of a computational process or detecting of a device event; upon detecting termination of the application, refrain from terminating the worker process thereby separating a life cycle of the worker process from a life cycle of the application and managing the life cycle of the worker process independently of the life cycle of the application; and upon the worker process achieving the execution event, notify the application of the execution event of the worker process, wherein notifying the application includes re-initiating the application if it is not currently executing; upon receiving a request from an application to execute a worker process comprising a web worker executing outside of the web browser and involving an execution event, initiate execution of the worker process on behalf of the at least one application outside of the virtual environment, the execution event including the completing of a computational process or detecting of a device event; upon detecting termination of the application, refrain from terminating the worker process thereby separating a life cycle of the worker process from a life cycle of the application and managing the life cycle of the worker process independently of the life cycle of the application; and upon the worker process achieving the execution event, notify the application of the execution event of the worker process, wherein notifying the application includes re-initiating the application if it is not currently executing;