 			configureInjector();
 			mapInjections();
 			addContextToContextViewRegistry();
-			installExtensions();
-			initializeExtensions();
+			extensionManager.initialize();
 			initializeConfigs();
 			logger.info('context initialization complete');
 		}

		{
			logger.info('installing extension {0}', [extensionClass]);
			_destroyed && throwContextDestroyedError();
			if (extensionClasses.indexOf(extensionClass) != -1)
				return this;

			extensionClasses.push(extensionClass);

			if (initialized)
			{
				const extension:IContextExtension = createExtension(extensionClass);
				extension.install(this);
				extension.initialize();
			}

			return this;
		}



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

		private var extensionManager:ExtensionManager;

		public function Context()
		{
			extensionManager = new ExtensionManager(this);
		}

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

		public function initialize():void
