1. A method for layered execution, the method comprising: providing a layered execution environment comprising at least one layer that operates over a base operating environment and is used for installing at least one application to be run on the base operating environment such that the base operating environment is not modified; activating a first layer of the layered execution environment, wherein the first layer provides access to a resource within the first layer of the layered execution environment; monitoring access to the resource within the first layer of the layered execution environment; and activating a second layer of the layered execution environment in response to detecting access to the resource within the first layer of the layered execution environment.