fixed memory leak caused by creating many DefaultControllerEnvironment objects