1. A method of executing a plurality of applications on a computing device, comprising: detecting a call or request for the execution of a first application of the plurality of applications; determining whether the execution is for a backward return or forward call, wherein if the execution is for a backward return; initializing the first application to a previously saved state history using first application stare store, wherein the first application state store contains historical snap-shot or dynamically application state information associated with the execution of the first application; monitoring the execution of the first application for impending loss or termination, and wherein in the event of an impending loss or termination; saving a first application state information into the first application state store; launching a second application of the plurality of applications on the computing device and excluding execution of any application other than the second application, wherein upon an impeding loss or termination of the second application; saving a second application state information; launching a third application of the plurality of applications on the computing device, wherein upon termination of the third application, restoring the second application based on the second application state information; and upon the termination of the second application, restoring the first application based on the first application state information.