1. A method of self-managing an application program in a computing environment, comprising: spawning a primary application for execution in a computing environment; upon detecting a first status threshold, the primary application spawning a secondary application in the computing environment, wherein the secondary application comprises a lower functionality version of the primary application, and the primary application terminating, wherein the first status threshold represents first computing environment conditions under which the primary application may spawn the secondary application and a second status threshold represents second computing environment conditions under which the secondary application may re-spawn the primary application.