1. A computer-based system for facilitating execution of a plurality of computer programs in a plurality of environments, the system comprising: a) an environment manager configured to receive, for each computer program, a set of computer program parameters, each computer program parameter having a binding to a corresponding environment variable; b) a collection of two or more environment representations, each environment representation including a corresponding set of environment variables, each environment variable of each environment representation having a corresponding value; c) a mapping between each computer program and a corresponding environment representation; d) a mechanism that provides to each computer program a value for each parameter having a corresponding environment variable; and e) a mechanism that, in response to a change of a value corresponding to an environment variable in an environment representation, determines each computer program corresponding to the environment representation and the environment variable and provides the change of value to each determined computer program.