 			logger.fatal(message);
 			throw new IllegalOperationError(message);
 		}
-
-		private function uninstallExtensions():void
-		{
-			logger.info('uninstalling extensions');
-			// uninstall in reverse order
-			var extensionClass:Class;
-			while (extensionClass = extensionClasses.pop())
-			{
-				const extension:IContextExtension = extensionByClass[extensionClass];
-				extension.uninstall();
-			}
-		}
 	}
 }


		private const configClasses:Vector.<Class> = new Vector.<Class>;

		private const extensionByClass:Dictionary = new Dictionary();

		private const extensionClasses:Vector.<Class> = new Vector.<Class>;

		public function Context()
		{
			// This page intentionally left blank
		}

		public function destroy():void
		{
			logger.info('destroying context');
			_destroyed && throwContextDestroyedError();
			uninstallExtensions();
			_destroyed = true;
		}

		public function initialize():void

			logger.info('configuring injector');

			_injector ||= createInjector();
		}

		private function createInjector():Injector
