public void AddPromotedServiceCreatorCallback()
		{
			var child = new ContainerAdapter();
			container.Add(child);

			ServiceCreatorCallback callback = CreateCalculatorService;

			child.AddService(typeof(ICalcService), callback, true);

			var service = (ICalcService)child.GetService(typeof(ICalcService));
			Assert.IsNotNull(service);

			var promotedService = (ICalcService)container.GetService(typeof(ICalcService));
			Assert.IsNotNull(service);

			Assert.AreSame(service, promotedService);

			container.Remove(child);
			Assert.IsNull(child.GetService(typeof(ICalcService)));
			Assert.AreSame(container.GetService(typeof(ICalcService)), service);
		}
		public void RemovePromotedServiceInstance()
		{
			var child = new ContainerAdapter();
			container.Add(child);

			ICalcService service = new CalculatorService();

			child.AddService(typeof(ICalcService), service, true);
			Assert.IsNotNull(child.GetService(typeof(ICalcService)));

			child.RemoveService(typeof(ICalcService), true);
			Assert.IsNull(child.GetService(typeof(ICalcService)));
			Assert.IsNull(container.GetService(typeof(ICalcService)));
		}