diff --git a/AtlasGeometryCommon/BeamPipeGeoModel/src/components/BeamPipeGeoModel_entries.cxx b/AtlasGeometryCommon/BeamPipeGeoModel/src/components/BeamPipeGeoModel_entries.cxx
old mode 100755
new mode 100644
index 803824b3dfba57269bcd59b21c333261d2b6b06c..bf6b9e4ca9f81b973ae1d078d8903b6eee9716f9
--- a/AtlasGeometryCommon/BeamPipeGeoModel/src/components/BeamPipeGeoModel_entries.cxx
+++ b/AtlasGeometryCommon/BeamPipeGeoModel/src/components/BeamPipeGeoModel_entries.cxx
@@ -1,4 +1,4 @@
 #include "../BeamPipeDetectorTool.h"
 
-DECLARE_TOOL_FACTORY(BeamPipeDetectorTool)
+DECLARE_COMPONENT( BeamPipeDetectorTool )
 
diff --git a/AtlasGeometryCommon/CavernInfraGeoModel/src/components/CavernInfraGeoModel_entries.cxx b/AtlasGeometryCommon/CavernInfraGeoModel/src/components/CavernInfraGeoModel_entries.cxx
old mode 100755
new mode 100644
index ffce21c5885bd4fc11d2840f2e99429968ca433e..89b2f1f4365102f4033843dbb4e196ca0fbf1b82
--- a/AtlasGeometryCommon/CavernInfraGeoModel/src/components/CavernInfraGeoModel_entries.cxx
+++ b/AtlasGeometryCommon/CavernInfraGeoModel/src/components/CavernInfraGeoModel_entries.cxx
@@ -1,3 +1,3 @@
 #include "../CavernInfraDetectorTool.h"
 
-DECLARE_TOOL_FACTORY(CavernInfraDetectorTool)
+DECLARE_COMPONENT( CavernInfraDetectorTool )
diff --git a/AtlasGeometryCommon/GeoModelEnvelopes/src/components/GeoModelEnvelopes_entries.cxx b/AtlasGeometryCommon/GeoModelEnvelopes/src/components/GeoModelEnvelopes_entries.cxx
old mode 100755
new mode 100644
index 7b4d7120c7dac3142e83af334c2f9fd79d33c021..096b5a50aed1d25449bf1949bbfc26d995f808eb
--- a/AtlasGeometryCommon/GeoModelEnvelopes/src/components/GeoModelEnvelopes_entries.cxx
+++ b/AtlasGeometryCommon/GeoModelEnvelopes/src/components/GeoModelEnvelopes_entries.cxx
@@ -1,3 +1,3 @@
 #include "../ForDetEnvelopeTool.h"
 
-DECLARE_TOOL_FACTORY(ForDetEnvelopeTool)
+DECLARE_COMPONENT( ForDetEnvelopeTool )
diff --git a/AtlasGeometryCommon/SubDetectorEnvelopes/src/components/SubDetectorEnvelopes_entries.cxx b/AtlasGeometryCommon/SubDetectorEnvelopes/src/components/SubDetectorEnvelopes_entries.cxx
index e2ba66b4b9c76b88531fdfc05e6b0d48a9446eb1..d8a00c3dcf1679518f408890d2ff1419d637027f 100644
--- a/AtlasGeometryCommon/SubDetectorEnvelopes/src/components/SubDetectorEnvelopes_entries.cxx
+++ b/AtlasGeometryCommon/SubDetectorEnvelopes/src/components/SubDetectorEnvelopes_entries.cxx
@@ -1,7 +1,7 @@
 #include "GaudiKernel/DeclareFactoryEntries.h"
 #include "src/DetDescrDBEnvelopeSvc.h"
 
-DECLARE_SERVICE_FACTORY( DetDescrDBEnvelopeSvc )
+DECLARE_COMPONENT( DetDescrDBEnvelopeSvc )
 
 DECLARE_FACTORY_ENTRIES( SubDetectorEnvelopes ) {
   DECLARE_SERVICE( DetDescrDBEnvelopeSvc )
diff --git a/Control/AthAnalysisBaseComps/src/components/AthAnalysisBaseComps_entries.cxx b/Control/AthAnalysisBaseComps/src/components/AthAnalysisBaseComps_entries.cxx
index e25fbbfb49e5a44764efcaa09e4f233f04523d89..d16d4fdd7c8855d38e5d7d45a917711be0b5a037 100644
--- a/Control/AthAnalysisBaseComps/src/components/AthAnalysisBaseComps_entries.cxx
+++ b/Control/AthAnalysisBaseComps/src/components/AthAnalysisBaseComps_entries.cxx
@@ -1,6 +1,6 @@
 #include "../AthROOTErrorHandlerSvc.h"
 
-DECLARE_SERVICE_FACTORY(AthROOTErrorHandlerSvc)
+DECLARE_COMPONENT( AthROOTErrorHandlerSvc )
 
 
  
diff --git a/Control/AthToolSupport/AsgExampleTools/src/components/AsgExampleTools_entries.cxx b/Control/AthToolSupport/AsgExampleTools/src/components/AsgExampleTools_entries.cxx
index c9ff15bd73bfafea70b1d6982c5b3de741f7df9c..e5313cbc47f9697d66c0c8a206c044be8cd36fbd 100644
--- a/Control/AthToolSupport/AsgExampleTools/src/components/AsgExampleTools_entries.cxx
+++ b/Control/AthToolSupport/AsgExampleTools/src/components/AsgExampleTools_entries.cxx
@@ -8,12 +8,12 @@
 #include <AsgExampleTools/UnitTestTool2.h>
 #include <AsgExampleTools/UnitTestTool3.h>
 
-DECLARE_TOOL_FACTORY(AsgHelloTool)
+DECLARE_COMPONENT( AsgHelloTool )
 
-DECLARE_ALGORITHM_FACTORY(AsgExampleAlgorithm)
+DECLARE_COMPONENT( AsgExampleAlgorithm )
 
-DECLARE_NAMESPACE_TOOL_FACTORY( asg, UnitTestTool1 )
-DECLARE_NAMESPACE_TOOL_FACTORY( asg, UnitTestTool1A )
-DECLARE_NAMESPACE_TOOL_FACTORY( asg, UnitTestTool2 )
-DECLARE_NAMESPACE_TOOL_FACTORY( asg, UnitTestTool3 )
+DECLARE_COMPONENT( asg::UnitTestTool1 )
+DECLARE_COMPONENT( asg::UnitTestTool1A )
+DECLARE_COMPONENT( asg::UnitTestTool2 )
+DECLARE_COMPONENT( asg::UnitTestTool3 )
 
diff --git a/Control/AthViews/src_dflow/components/AthViewsDFlow_entries.cxx b/Control/AthViews/src_dflow/components/AthViewsDFlow_entries.cxx
index 12762e9636cb6d647e4112c0b81543940af7859f..22e21ea6412b92789029d663df91b10d375f666e 100644
--- a/Control/AthViews/src_dflow/components/AthViewsDFlow_entries.cxx
+++ b/Control/AthViews/src_dflow/components/AthViewsDFlow_entries.cxx
@@ -7,11 +7,11 @@
 #include "../RoiCollectionToViews.h"
 
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews, DFlowAlg1 )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews, DFlowAlg2 )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews, DFlowAlg3 )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews, ViewTestAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews, ViewMergeAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews, ViewSubgraphAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews, RoiCollectionToViews )
+DECLARE_COMPONENT( AthViews::DFlowAlg1 )
+DECLARE_COMPONENT( AthViews::DFlowAlg2 )
+DECLARE_COMPONENT( AthViews::DFlowAlg3 )
+DECLARE_COMPONENT( AthViews::ViewTestAlg )
+DECLARE_COMPONENT( AthViews::ViewMergeAlg )
+DECLARE_COMPONENT( AthViews::ViewSubgraphAlg )
+DECLARE_COMPONENT( AthViews::RoiCollectionToViews )
 
diff --git a/Control/AthenaAuditors/src/components/AthenaAuditors_entries.cxx b/Control/AthenaAuditors/src/components/AthenaAuditors_entries.cxx
index ee7c74f1743a3fba435852e907c75ce9583b9e1b..2674f76ba71c31a9951b5e585cff0f263610860e 100644
--- a/Control/AthenaAuditors/src/components/AthenaAuditors_entries.cxx
+++ b/Control/AthenaAuditors/src/components/AthenaAuditors_entries.cxx
@@ -2,7 +2,7 @@
 #include "../CoWAuditor.h"
 #include "../AthMemoryAuditor.h"
 
-DECLARE_AUDITOR_FACTORY(FPEAuditor)
-DECLARE_AUDITOR_FACTORY(CoWAuditor)
-DECLARE_AUDITOR_FACTORY(AthMemoryAuditor)
+DECLARE_COMPONENT( FPEAuditor )
+DECLARE_COMPONENT( CoWAuditor )
+DECLARE_COMPONENT( AthMemoryAuditor )
 
diff --git a/Control/AthenaExamples/AthAsgExUnittest/src/components/AthAsgExUnittest_entries.cxx b/Control/AthenaExamples/AthAsgExUnittest/src/components/AthAsgExUnittest_entries.cxx
index 5332952102a08f54fa4e971e4fd6db1b4f418cc8..95117f80988fe24ecc7001dd81259b9f457897df 100644
--- a/Control/AthenaExamples/AthAsgExUnittest/src/components/AthAsgExUnittest_entries.cxx
+++ b/Control/AthenaExamples/AthAsgExUnittest/src/components/AthAsgExUnittest_entries.cxx
@@ -1,8 +1,8 @@
 #include "../MyPackageAlg.h"
 
-DECLARE_ALGORITHM_FACTORY( MyPackageAlg )
+DECLARE_COMPONENT( MyPackageAlg )
 
 
 #include "AthAsgExUnittest/MyPackageTool.h"
-DECLARE_TOOL_FACTORY( MyPackageTool )
+DECLARE_COMPONENT( MyPackageTool )
 
diff --git a/Control/AthenaExamples/AthExBeginRun/src/components/AthExBeginRun_entries.cxx b/Control/AthenaExamples/AthExBeginRun/src/components/AthExBeginRun_entries.cxx
index 77ea822d5afe7e7b18f572ed681300f95f515f31..3be28c142d6b74308fc20e4bf9c0f60c4b019627 100644
--- a/Control/AthenaExamples/AthExBeginRun/src/components/AthExBeginRun_entries.cxx
+++ b/Control/AthenaExamples/AthExBeginRun/src/components/AthExBeginRun_entries.cxx
@@ -3,7 +3,7 @@
 #include "../AthExCreateCondAlg.h"
 
 
-DECLARE_ALGORITHM_FACTORY( BeginRunAlg )
-DECLARE_ALGORITHM_FACTORY( AthExCreateCondAlg )
-DECLARE_TOOL_FACTORY( BeginRunTool )
+DECLARE_COMPONENT( BeginRunAlg )
+DECLARE_COMPONENT( AthExCreateCondAlg )
+DECLARE_COMPONENT( BeginRunTool )
 
diff --git a/Control/AthenaExamples/AthExFortranAlgorithm/src/components/FortranAlgorithm_entries.cxx b/Control/AthenaExamples/AthExFortranAlgorithm/src/components/FortranAlgorithm_entries.cxx
index 32d0340204bdf07c28566511d8f1c5fc34a0bb6d..79f2167acf60da3c21029899bb356b9d74708817 100644
--- a/Control/AthenaExamples/AthExFortranAlgorithm/src/components/FortranAlgorithm_entries.cxx
+++ b/Control/AthenaExamples/AthExFortranAlgorithm/src/components/FortranAlgorithm_entries.cxx
@@ -1,4 +1,4 @@
 #include "AthExFortranAlgorithm/FortranAlgorithm.h"
 
-DECLARE_ALGORITHM_FACTORY( FortranAlgorithm )
+DECLARE_COMPONENT( FortranAlgorithm )
 
diff --git a/Control/AthenaExamples/AthExHelloWorld/src/components/AthExHelloWorld_entries.cxx b/Control/AthenaExamples/AthExHelloWorld/src/components/AthExHelloWorld_entries.cxx
index 8df6863471ac0655890f7a6642e63eaced86f55a..9e72bfebfed4aff253a80ea0e96c0825c31ea340 100644
--- a/Control/AthenaExamples/AthExHelloWorld/src/components/AthExHelloWorld_entries.cxx
+++ b/Control/AthenaExamples/AthExHelloWorld/src/components/AthExHelloWorld_entries.cxx
@@ -1,6 +1,6 @@
 #include "../HelloAlg.h"
 #include "../HelloTool.h"
 
-DECLARE_ALGORITHM_FACTORY( HelloAlg )
-DECLARE_TOOL_FACTORY( HelloTool )
+DECLARE_COMPONENT( HelloAlg )
+DECLARE_COMPONENT( HelloTool )
 
diff --git a/Control/AthenaExamples/AthExHistNtup/src/components/HistNtup_entries.cxx b/Control/AthenaExamples/AthExHistNtup/src/components/HistNtup_entries.cxx
index 27169b73412dec25df67bc0d9fa544213bedd975..216318f83f957104d1e7d4096879efbf2ee03f35 100644
--- a/Control/AthenaExamples/AthExHistNtup/src/components/HistNtup_entries.cxx
+++ b/Control/AthenaExamples/AthExHistNtup/src/components/HistNtup_entries.cxx
@@ -15,6 +15,6 @@
 
 using namespace AthEx;
 
-DECLARE_ALGORITHM_FACTORY( Hist )
-DECLARE_ALGORITHM_FACTORY( Ntup )
+DECLARE_COMPONENT( Hist )
+DECLARE_COMPONENT( Ntup )
 
diff --git a/Control/AthenaExamples/AthExHive/src/components/AthExHive_entries.cxx b/Control/AthenaExamples/AthExHive/src/components/AthExHive_entries.cxx
index c8e37854391204f745a1f7af3e053341f59383fc..fa3abe435d2d2d7aae84d3a0e5d11e3713f8d412 100644
--- a/Control/AthenaExamples/AthExHive/src/components/AthExHive_entries.cxx
+++ b/Control/AthenaExamples/AthExHive/src/components/AthExHive_entries.cxx
@@ -29,34 +29,34 @@
 #include "../ThreadInitTool.h"
 
 
-DECLARE_ALGORITHM_FACTORY( HiveAlgA )
-DECLARE_ALGORITHM_FACTORY( HiveAlgB )
-DECLARE_ALGORITHM_FACTORY( HiveAlgC )
-DECLARE_ALGORITHM_FACTORY( HiveAlgD )
-DECLARE_ALGORITHM_FACTORY( HiveAlgE )
-DECLARE_ALGORITHM_FACTORY( HiveAlgF )
-DECLARE_ALGORITHM_FACTORY( HiveAlgG )
-DECLARE_ALGORITHM_FACTORY( HiveAlgL1 )
-DECLARE_ALGORITHM_FACTORY( HiveAlgL2 )
-DECLARE_ALGORITHM_FACTORY( HiveAlgL3 )
-DECLARE_ALGORITHM_FACTORY( HiveAlgM )
-DECLARE_ALGORITHM_FACTORY( HiveAlgV )
+DECLARE_COMPONENT( HiveAlgA )
+DECLARE_COMPONENT( HiveAlgB )
+DECLARE_COMPONENT( HiveAlgC )
+DECLARE_COMPONENT( HiveAlgD )
+DECLARE_COMPONENT( HiveAlgE )
+DECLARE_COMPONENT( HiveAlgF )
+DECLARE_COMPONENT( HiveAlgG )
+DECLARE_COMPONENT( HiveAlgL1 )
+DECLARE_COMPONENT( HiveAlgL2 )
+DECLARE_COMPONENT( HiveAlgL3 )
+DECLARE_COMPONENT( HiveAlgM )
+DECLARE_COMPONENT( HiveAlgV )
 
 #ifdef REENTRANT_GAUDI
-  DECLARE_ALGORITHM_FACTORY( HiveAlgR )
+  DECLARE_COMPONENT( HiveAlgR )
 #endif
 
-DECLARE_ALGORITHM_FACTORY( AlgA )
-DECLARE_ALGORITHM_FACTORY( AlgB )
-DECLARE_ALGORITHM_FACTORY( AlgC )
-DECLARE_ALGORITHM_FACTORY( AlgD )
-DECLARE_ALGORITHM_FACTORY( AlgT )
-DECLARE_ALGORITHM_FACTORY( CondAlgX )
-DECLARE_ALGORITHM_FACTORY( CondAlgY )
+DECLARE_COMPONENT( AlgA )
+DECLARE_COMPONENT( AlgB )
+DECLARE_COMPONENT( AlgC )
+DECLARE_COMPONENT( AlgD )
+DECLARE_COMPONENT( AlgT )
+DECLARE_COMPONENT( CondAlgX )
+DECLARE_COMPONENT( CondAlgY )
 
-DECLARE_TOOL_FACTORY( ThreadInitTool )
-DECLARE_TOOL_FACTORY( HiveTool )
+DECLARE_COMPONENT( ThreadInitTool )
+DECLARE_COMPONENT( HiveTool )
 
-DECLARE_SERVICE_FACTORY( HiveExSvc )
-DECLARE_SERVICE_FACTORY( ASCIICondDbSvc )
+DECLARE_COMPONENT( HiveExSvc )
+DECLARE_COMPONENT( ASCIICondDbSvc )
 
diff --git a/Control/AthenaExamples/AthExJobOptions/src/components/AthExJobOptions_entries.cxx b/Control/AthenaExamples/AthExJobOptions/src/components/AthExJobOptions_entries.cxx
index b160ad2e6b74367d730d23055e30c6b28b4b720f..b0dbb623fa017f9d3e2701e918f619f9cd1b77a6 100644
--- a/Control/AthenaExamples/AthExJobOptions/src/components/AthExJobOptions_entries.cxx
+++ b/Control/AthenaExamples/AthExJobOptions/src/components/AthExJobOptions_entries.cxx
@@ -13,14 +13,14 @@
 typedef ToolSpace::TemplatedTool< double > ToolSpaceTemplatedToolDouble;
 
 
-DECLARE_ALGORITHM_FACTORY( NoopAlgorithm )
-DECLARE_ALGORITHM_FACTORY( TopAlgorithm )
-DECLARE_ALGORITHM_FACTORY( SubAlgorithm )
-DECLARE_ALGORITHM_FACTORY( TestSvcHandleArrayAlg )
-DECLARE_TOOL_FACTORY( ConcreteTool )
-DECLARE_TOOL_FACTORY( ToolUsingTool )
-DECLARE_TOOL_FACTORY( ToolSpaceTemplatedToolDouble )
-DECLARE_TOOL_FACTORY( ExampleEvtLoopPreSelectTool )
-DECLARE_SERVICE_FACTORY( ConcreteSvc )
-DECLARE_SERVICE_FACTORY( AnotherConcreteSvc )
+DECLARE_COMPONENT( NoopAlgorithm )
+DECLARE_COMPONENT( TopAlgorithm )
+DECLARE_COMPONENT( SubAlgorithm )
+DECLARE_COMPONENT( TestSvcHandleArrayAlg )
+DECLARE_COMPONENT( ConcreteTool )
+DECLARE_COMPONENT( ToolUsingTool )
+DECLARE_COMPONENT( ToolSpaceTemplatedToolDouble )
+DECLARE_COMPONENT( ExampleEvtLoopPreSelectTool )
+DECLARE_COMPONENT( ConcreteSvc )
+DECLARE_COMPONENT( AnotherConcreteSvc )
 
diff --git a/Control/AthenaExamples/AthExMonitored/src/components/AthExMonitored_entries.cxx b/Control/AthenaExamples/AthExMonitored/src/components/AthExMonitored_entries.cxx
index 0a9a331e0c30b87e95ec7aad61a66660a64be074..34d409965c9463abcf59bb3a329b0e0426bee9bd 100644
--- a/Control/AthenaExamples/AthExMonitored/src/components/AthExMonitored_entries.cxx
+++ b/Control/AthenaExamples/AthExMonitored/src/components/AthExMonitored_entries.cxx
@@ -1,5 +1,5 @@
 #include "../MonitoredAlg.h"
 
 
-DECLARE_ALGORITHM_FACTORY( MonitoredAlg )
+DECLARE_COMPONENT( MonitoredAlg )
 
diff --git a/Control/AthenaExamples/AthExStoreGateExample/Tutorial/SGTutorial_entries.cxx b/Control/AthenaExamples/AthExStoreGateExample/Tutorial/SGTutorial_entries.cxx
index ed46a87157edb6118d99a231e1ccb96bdf894e8a..698c79dead23d12c1d88bd8e30421db02308c3c1 100644
--- a/Control/AthenaExamples/AthExStoreGateExample/Tutorial/SGTutorial_entries.cxx
+++ b/Control/AthenaExamples/AthExStoreGateExample/Tutorial/SGTutorial_entries.cxx
@@ -18,6 +18,6 @@
 #include "SGRead.h"
 #include "SGWrite.h"
 
-DECLARE_ALGORITHM_FACTORY( SGRead )
-DECLARE_ALGORITHM_FACTORY( SGWrite )
+DECLARE_COMPONENT( SGRead )
+DECLARE_COMPONENT( SGWrite )
 
diff --git a/Control/AthenaExamples/AthExStoreGateExample/src/components/StoreGateExample_entries.cxx b/Control/AthenaExamples/AthExStoreGateExample/src/components/StoreGateExample_entries.cxx
index 6372150388abd95ffcecf13f20b371ef29da0325..48cf6527a64f41625dba13b78e99934c5f43fc4f 100644
--- a/Control/AthenaExamples/AthExStoreGateExample/src/components/StoreGateExample_entries.cxx
+++ b/Control/AthenaExamples/AthExStoreGateExample/src/components/StoreGateExample_entries.cxx
@@ -16,9 +16,9 @@
 #include "../WriteDataReentrant.h"
 #include "../ReadDataReentrant.h"
 
-DECLARE_ALGORITHM_FACTORY( ReadData )
-DECLARE_ALGORITHM_FACTORY( ReadPileUpData )
-DECLARE_ALGORITHM_FACTORY( WriteData )
-DECLARE_ALGORITHM_FACTORY( WriteDataReentrant )
-DECLARE_ALGORITHM_FACTORY( ReadDataReentrant )
+DECLARE_COMPONENT( ReadData )
+DECLARE_COMPONENT( ReadPileUpData )
+DECLARE_COMPONENT( WriteData )
+DECLARE_COMPONENT( WriteDataReentrant )
+DECLARE_COMPONENT( ReadDataReentrant )
 
diff --git a/Control/AthenaExamples/AthExStoreGateExample/src_dflow/components/AthExDFlow_entries.cxx b/Control/AthenaExamples/AthExStoreGateExample/src_dflow/components/AthExDFlow_entries.cxx
index f71359fbdd19e49d23598f318efc5da0d018179d..95d19cd9a78d3e6656d6b91a1fa668b886fa71d7 100644
--- a/Control/AthenaExamples/AthExStoreGateExample/src_dflow/components/AthExDFlow_entries.cxx
+++ b/Control/AthenaExamples/AthExStoreGateExample/src_dflow/components/AthExDFlow_entries.cxx
@@ -3,7 +3,7 @@
 #include "../DFlowAlg3.h"
 
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthEx, DFlowAlg1 )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthEx, DFlowAlg2 )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthEx, DFlowAlg3 )
+DECLARE_COMPONENT( AthEx::DFlowAlg1 )
+DECLARE_COMPONENT( AthEx::DFlowAlg2 )
+DECLARE_COMPONENT( AthEx::DFlowAlg3 )
 
diff --git a/Control/AthenaExamples/AthExThinning/src_lib/components/AthExThinning_entries.cxx b/Control/AthenaExamples/AthExThinning/src_lib/components/AthExThinning_entries.cxx
index 738b66fa35309bd7b8437f1e2d65be80247451ab..528ad05da28d586c9c8aaaa2bce15e4463281f27 100644
--- a/Control/AthenaExamples/AthExThinning/src_lib/components/AthExThinning_entries.cxx
+++ b/Control/AthenaExamples/AthExThinning/src_lib/components/AthExThinning_entries.cxx
@@ -4,8 +4,8 @@
 #include "AthExThinning/SlimmerAlg.h"
 
   
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthExThinning, CreateData )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthExThinning, WriteThinnedData )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthExThinning, ReadThinnedData )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthExThinning, SlimmerAlg )
+DECLARE_COMPONENT( AthExThinning::CreateData )
+DECLARE_COMPONENT( AthExThinning::WriteThinnedData )
+DECLARE_COMPONENT( AthExThinning::ReadThinnedData )
+DECLARE_COMPONENT( AthExThinning::SlimmerAlg )
 
diff --git a/Control/AthenaExamples/AthExUnittest/src/components/AthExUnittest_entries.cxx b/Control/AthenaExamples/AthExUnittest/src/components/AthExUnittest_entries.cxx
index ed788ae68715d1e8556f1631426eaa70e16318d5..d760ad5d895b2ba3310824f925c0f6903f357762 100644
--- a/Control/AthenaExamples/AthExUnittest/src/components/AthExUnittest_entries.cxx
+++ b/Control/AthenaExamples/AthExUnittest/src/components/AthExUnittest_entries.cxx
@@ -1,6 +1,6 @@
 #include "../AthExUnittestAlg.h"
-DECLARE_ALGORITHM_FACTORY( AthExUnittestAlg )
+DECLARE_COMPONENT( AthExUnittestAlg )
 
 #include "AthExUnittest/AthExUnittestTool.h"
-DECLARE_TOOL_FACTORY( AthExUnittestTool )
+DECLARE_COMPONENT( AthExUnittestTool )
 
diff --git a/Control/AthenaExamples/MultiInputExample/src/components/MultiInputExample_entries.cxx b/Control/AthenaExamples/MultiInputExample/src/components/MultiInputExample_entries.cxx
index 186ff4a99b76f5ceca23f14355215b22eec67adb..a5f5eecb394179c35c485b1ebaa71cfeb99d0f25 100644
--- a/Control/AthenaExamples/MultiInputExample/src/components/MultiInputExample_entries.cxx
+++ b/Control/AthenaExamples/MultiInputExample/src/components/MultiInputExample_entries.cxx
@@ -1,4 +1,4 @@
 #include "MultiInputExample/MyMultiInputAlg.h"
 
-DECLARE_ALGORITHM_FACTORY( MyMultiInputAlg )
+DECLARE_COMPONENT( MyMultiInputAlg )
 
diff --git a/Control/AthenaExamples/TBBExamples/src/components/TBBExamples_entries.cxx b/Control/AthenaExamples/TBBExamples/src/components/TBBExamples_entries.cxx
index 9834460f2902be164b798417730f1034d9143b3b..d648c6ad438dfe846a37869db445bc06559101f8 100644
--- a/Control/AthenaExamples/TBBExamples/src/components/TBBExamples_entries.cxx
+++ b/Control/AthenaExamples/TBBExamples/src/components/TBBExamples_entries.cxx
@@ -5,9 +5,9 @@
 //#include "../HelloSvc.h"
 
 
-DECLARE_ALGORITHM_FACTORY( HelloGraphAlg )
-DECLARE_ALGORITHM_FACTORY( HelloParForAlg )
-DECLARE_ALGORITHM_FACTORY( HelloPipeAlg )
-DECLARE_TOOL_FACTORY( TBBTool )
-//DECLARE_SERVICE_FACTORY( HelloSvc )
+DECLARE_COMPONENT( HelloGraphAlg )
+DECLARE_COMPONENT( HelloParForAlg )
+DECLARE_COMPONENT( HelloPipeAlg )
+DECLARE_COMPONENT( TBBTool )
+//DECLARE_COMPONENT( HelloSvc )
 
diff --git a/Control/AthenaExamples/ToyConversion/src/components/ToyConversion_entries.cxx b/Control/AthenaExamples/ToyConversion/src/components/ToyConversion_entries.cxx
index 80751491255dd2262630c8fcb7ec8ea6f400a614..5df5f5299030e401333da5198d2302083cea78fd 100644
--- a/Control/AthenaExamples/ToyConversion/src/components/ToyConversion_entries.cxx
+++ b/Control/AthenaExamples/ToyConversion/src/components/ToyConversion_entries.cxx
@@ -5,7 +5,7 @@
 typedef ToyConverter<Foo> ToyCnvFoo;
 typedef ToyConverter<Bar> ToyCnvBar;
 
-DECLARE_SERVICE_FACTORY( ToyConversionSvc )
+DECLARE_COMPONENT( ToyConversionSvc )
 DECLARE_CONVERTER_FACTORY( ToyCnvFoo )
 DECLARE_CONVERTER_FACTORY( ToyCnvBar )
 
diff --git a/Control/AthenaExamples/UserDataExamples/src/components/UserDataExamples_entries.cxx b/Control/AthenaExamples/UserDataExamples/src/components/UserDataExamples_entries.cxx
index 6fabc05d62212967bdbcb3d74e979ce8ad46900d..205348541168a737d473d021b3b485f2ec107b18 100644
--- a/Control/AthenaExamples/UserDataExamples/src/components/UserDataExamples_entries.cxx
+++ b/Control/AthenaExamples/UserDataExamples/src/components/UserDataExamples_entries.cxx
@@ -3,6 +3,6 @@
 #include "../ReadDataWithUserData.h"
 
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( UserDataExamples, CreateDataWithUserData )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( UserDataExamples, ReadDataWithUserData )
+DECLARE_COMPONENT( UserDataExamples::CreateDataWithUserData )
+DECLARE_COMPONENT( UserDataExamples::ReadDataWithUserData )
 
diff --git a/Control/AthenaIPCTools/src/components/AthenaIPCTools_entries.cxx b/Control/AthenaIPCTools/src/components/AthenaIPCTools_entries.cxx
index 06216fa636d97668dd961b1a512e325b54dd03b3..c0d8e999d83da4cb90af2db5892db16daf722c13 100644
--- a/Control/AthenaIPCTools/src/components/AthenaIPCTools_entries.cxx
+++ b/Control/AthenaIPCTools/src/components/AthenaIPCTools_entries.cxx
@@ -1,6 +1,6 @@
 #include "../AthenaSharedMemoryTool.h"
 #include "../AthenaYamplTool.h"
 
-DECLARE_TOOL_FACTORY( AthenaSharedMemoryTool )
-DECLARE_TOOL_FACTORY( AthenaYamplTool )
+DECLARE_COMPONENT( AthenaSharedMemoryTool )
+DECLARE_COMPONENT( AthenaYamplTool )
 
diff --git a/Control/AthenaMP/src/AthMpEvtLoopMgr.h b/Control/AthenaMP/src/AthMpEvtLoopMgr.h
index 72ce225499f95dc8105a16c39d5267945e9aab04..82e2c0e1cbd6660757f079cf87adc59b24939e62 100644
--- a/Control/AthenaMP/src/AthMpEvtLoopMgr.h
+++ b/Control/AthenaMP/src/AthMpEvtLoopMgr.h
@@ -13,18 +13,15 @@
 
 class IAthenaMPTool;
 class ISvcLocator;
-template <class TYPE> class SvcFactory;
 
 class AthMpEvtLoopMgr
    :virtual public ::IEventProcessor 
    , public AthService
 {
-  friend class SvcFactory<AthMpEvtLoopMgr>;
-
+ public:
   AthMpEvtLoopMgr(const std::string& name, ISvcLocator* svcLocator);
   virtual ~AthMpEvtLoopMgr();
 
- public:
   virtual StatusCode initialize();
   virtual StatusCode finalize();
 
diff --git a/Control/AthenaMP/src/components/AthenaMP_entries.cxx b/Control/AthenaMP/src/components/AthenaMP_entries.cxx
index 67108465cfeb2c25c0bb08dffa84a37eb8764b76..71a08bfa27dae3ef53ab33810a4765450e399de3 100644
--- a/Control/AthenaMP/src/components/AthenaMP_entries.cxx
+++ b/Control/AthenaMP/src/components/AthenaMP_entries.cxx
@@ -1,5 +1,5 @@
 #include "../AthMpEvtLoopMgr.h"
 
   
-DECLARE_SERVICE_FACTORY (AthMpEvtLoopMgr)
+DECLARE_COMPONENT( AthMpEvtLoopMgr )
 
diff --git a/Control/AthenaMPTools/src/components/AthenaMPTools_entries.cxx b/Control/AthenaMPTools/src/components/AthenaMPTools_entries.cxx
index 2124ccce9e9762248d64036263c9d1eb6e1b78c0..20895a0cd2e27966ab9263c681af8207d7ba1c35 100644
--- a/Control/AthenaMPTools/src/components/AthenaMPTools_entries.cxx
+++ b/Control/AthenaMPTools/src/components/AthenaMPTools_entries.cxx
@@ -6,11 +6,11 @@
 #include "../EvtRangeProcessor.h"
 #include "../SharedHiveEvtQueueConsumer.h"
 
-DECLARE_TOOL_FACTORY( SharedEvtQueueProvider )
-DECLARE_TOOL_FACTORY( SharedEvtQueueConsumer )
-DECLARE_TOOL_FACTORY( SharedWriterTool )
-DECLARE_TOOL_FACTORY( FileSchedulingTool )
-DECLARE_TOOL_FACTORY( EvtRangeScatterer )
-DECLARE_TOOL_FACTORY( EvtRangeProcessor )
-DECLARE_TOOL_FACTORY( SharedHiveEvtQueueConsumer )
+DECLARE_COMPONENT( SharedEvtQueueProvider )
+DECLARE_COMPONENT( SharedEvtQueueConsumer )
+DECLARE_COMPONENT( SharedWriterTool )
+DECLARE_COMPONENT( FileSchedulingTool )
+DECLARE_COMPONENT( EvtRangeScatterer )
+DECLARE_COMPONENT( EvtRangeProcessor )
+DECLARE_COMPONENT( SharedHiveEvtQueueConsumer )
 
diff --git a/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx b/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
index 1f8f93ce094b44ba57b5bf21f9f3aca548e80006..1bdeff7ac7f9cf0cd5e90384b72a58674c68c36a 100644
--- a/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
+++ b/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
@@ -9,13 +9,13 @@
 #include "AthenaMonitoring/GenericMonitoringTool.h"
 
 
-DECLARE_ALGORITHM_FACTORY(AthenaMon)
-DECLARE_ALGORITHM_FACTORY(AthenaMonManager)
-DECLARE_TOOL_FACTORY(ManagedMonitorToolTest)
-DECLARE_TOOL_FACTORY(DQAtlasReadyFilterTool)
-DECLARE_TOOL_FACTORY(DQFilledBunchFilterTool)
-DECLARE_TOOL_FACTORY(DQDummyFilterTool)
-DECLARE_TOOL_FACTORY(DQBadLBFilterTool)
-DECLARE_TOOL_FACTORY(TriggerTranslatorToolSimple)
-DECLARE_TOOL_FACTORY(GenericMonitoringTool)
+DECLARE_COMPONENT( AthenaMon )
+DECLARE_COMPONENT( AthenaMonManager )
+DECLARE_COMPONENT( ManagedMonitorToolTest )
+DECLARE_COMPONENT( DQAtlasReadyFilterTool )
+DECLARE_COMPONENT( DQFilledBunchFilterTool )
+DECLARE_COMPONENT( DQDummyFilterTool )
+DECLARE_COMPONENT( DQBadLBFilterTool )
+DECLARE_COMPONENT( TriggerTranslatorToolSimple )
+DECLARE_COMPONENT( GenericMonitoringTool )
 
diff --git a/Control/AthenaPython/src/components/AthenaPython_entries.cxx b/Control/AthenaPython/src/components/AthenaPython_entries.cxx
index c11ac6232d7064816782df68eb6cc3842c696a4a..58ca4f73115fc4f39485ff1714cb207a0d56b097 100644
--- a/Control/AthenaPython/src/components/AthenaPython_entries.cxx
+++ b/Control/AthenaPython/src/components/AthenaPython_entries.cxx
@@ -6,10 +6,10 @@
 #include "../PyJobOptionsSvc.h"
 
 
-DECLARE_NAMESPACE_TOOL_FACTORY     ( PyAthena, Tool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PyAthena, Alg )
-DECLARE_NAMESPACE_AUDITOR_FACTORY  ( PyAthena, Aud )
-DECLARE_NAMESPACE_SERVICE_FACTORY  ( PyAthena, Svc )
-DECLARE_NAMESPACE_SERVICE_FACTORY  ( PyAthena, PyComponentMgr )
-DECLARE_SERVICE_FACTORY  ( PyJobOptionsSvc )
+DECLARE_COMPONENT( PyAthena::Tool )
+DECLARE_COMPONENT( PyAthena::Alg )
+DECLARE_COMPONENT( PyAthena::Aud )
+DECLARE_COMPONENT( PyAthena::Svc )
+DECLARE_COMPONENT( PyAthena::PyComponentMgr )
+DECLARE_COMPONENT( PyJobOptionsSvc )
 
diff --git a/Control/AthenaServices/src/AthenaConditionStream.h b/Control/AthenaServices/src/AthenaConditionStream.h
index 5abad9e1cbf66708f79d41f11968f20608a21b16..8ed8cef530b9b3196ce381a84d8896dcb6fba00e 100644
--- a/Control/AthenaServices/src/AthenaConditionStream.h
+++ b/Control/AthenaServices/src/AthenaConditionStream.h
@@ -20,15 +20,13 @@
 
 class AthenaConditionStream : public AthenaOutputStream
 {
-  friend class AlgFactory<AthenaConditionStream>;
 
-protected:
+public:
   /// Standard algorithm Constructor
   AthenaConditionStream(const std::string& name, ISvcLocator* pSvcLocator); 
   /// Standard Destructor
   virtual ~AthenaConditionStream();
 
-public:
   // Initialize OutputStream
   //virtual StatusCode initialize();
   /// Terminate OutputStream
diff --git a/Control/AthenaServices/src/AthenaEventLoopMgr.h b/Control/AthenaServices/src/AthenaEventLoopMgr.h
index 1b48dba63803a78db310f81f398b33158af51b85..9c96fe1481a2ef26eaaac470d64b6f8c2122abc4 100644
--- a/Control/AthenaServices/src/AthenaEventLoopMgr.h
+++ b/Control/AthenaServices/src/AthenaEventLoopMgr.h
@@ -59,7 +59,6 @@ class EventContext;
 ////class ActiveStoreSvc;
 
 class ISvcLocator;
-template <class TYPE> class SvcFactory;
 
 
 /** @class AthenaEventLoopMgr
@@ -80,8 +79,6 @@ class AthenaEventLoopMgr
             public Athena::TimeoutMaster
 {
 public:
-  /// Creator friend class
-  friend class SvcFactory<AthenaEventLoopMgr>;
   typedef IEvtSelector::Context   EvtContext;
 
 protected:
@@ -158,12 +155,6 @@ protected:
   /// value.
   void setClearStorePolicy(Property& clearStorePolicy);
 
-  /// Standard Constructor
-  AthenaEventLoopMgr(const std::string& nam, ISvcLocator* svcLoc);
- 
-  /// Standard Destructor
-  virtual ~AthenaEventLoopMgr();
-
   /// Dump out histograms as needed
   virtual StatusCode writeHistograms(bool force=false);
 
@@ -184,6 +175,10 @@ protected:
   SmartIF<IAlgExecStateSvc>  m_aess;
 
 public:
+  /// Standard Constructor
+  AthenaEventLoopMgr(const std::string& nam, ISvcLocator* svcLoc);
+  /// Standard Destructor
+  virtual ~AthenaEventLoopMgr();
   /// implementation of IAppMgrUI::initalize
   virtual StatusCode initialize();
   /// implementation of IAppMgrUI::finalize
diff --git a/Control/AthenaServices/src/AthenaHiveEventLoopMgr.h b/Control/AthenaServices/src/AthenaHiveEventLoopMgr.h
index 85fc9bb521208f6ee3849dda12d81d8faf99430e..7c41929a2946481c2080761479d77108bbf77a7d 100644
--- a/Control/AthenaServices/src/AthenaHiveEventLoopMgr.h
+++ b/Control/AthenaServices/src/AthenaHiveEventLoopMgr.h
@@ -67,7 +67,6 @@ class IIncidentSvc;
 class ITimeKeeper;
 class StoreGateSvc;
 class ISvcLocator;
-template <class TYPE> class SvcFactory;
 
 /** @class AthenaHiveEventLoopMgr
     @brief The default ATLAS batch event loop manager.
@@ -87,8 +86,6 @@ class AthenaHiveEventLoopMgr
             public Athena::TimeoutMaster
 {
 public:
-  /// Creator friend class
-  friend class SvcFactory<AthenaHiveEventLoopMgr>;
   typedef IEvtSelector::Context   EvtContext;
 
 protected:
@@ -165,12 +162,6 @@ protected:
   /// value.
   void setClearStorePolicy(Property& clearStorePolicy);
 
-  /// Standard Constructor
-  AthenaHiveEventLoopMgr(const std::string& nam, ISvcLocator* svcLoc);
- 
-  /// Standard Destructor
-  virtual ~AthenaHiveEventLoopMgr();
-
   /// Dump out histograms as needed
   virtual StatusCode writeHistograms(bool force=false);
 
@@ -233,6 +224,10 @@ public:
 //***********************************************************//
 
 public:
+  /// Standard Constructor
+  AthenaHiveEventLoopMgr(const std::string& nam, ISvcLocator* svcLoc);
+  /// Standard Destructor
+  virtual ~AthenaHiveEventLoopMgr();
   /// implementation of IAppMgrUI::initalize
   virtual StatusCode initialize();
   /// implementation of IAppMgrUI::finalize
diff --git a/Control/AthenaServices/src/AthenaOutputStream.h b/Control/AthenaServices/src/AthenaOutputStream.h
index 8808befe1f50a05f9404f9308963845677adc1c1..e478fe387b7739430f4a87badc22c4fb5d6aefa9 100644
--- a/Control/AthenaServices/src/AthenaOutputStream.h
+++ b/Control/AthenaServices/src/AthenaOutputStream.h
@@ -27,7 +27,6 @@
 #include "GaudiKernel/IIoComponent.h"
 
 // forward declarations
-template <class ConcreteAlgorithm> class AlgFactory;
 class IClassIDSvc;
 class OutputStreamSequencerSvc;
 class StoreGateSvc;
@@ -51,7 +50,6 @@ namespace SG {
 class AthenaOutputStream : public FilteredAlgorithm,
                            virtual public IIncidentListener,
                            virtual public IIoComponent {
-   friend class AlgFactory<AthenaOutputStream>;
    friend class UserDataSvc;
 
 public:
@@ -132,10 +130,6 @@ protected:
    ToolHandleArray<IAthenaOutputTool> m_helperTools;
 
 protected:
-   /// Standard algorithm Constructor
-   AthenaOutputStream(const std::string& name, ISvcLocator* pSvcLocator); 
-   /// Standard Destructor
-   virtual ~AthenaOutputStream();
    /// Handler for ItemNames Property
    void itemListHandler(Property& /* theProp */);
    /// Handler for ItemNames Property
@@ -143,6 +137,12 @@ protected:
 
 public:
    typedef std::vector<std::pair<std::string, std::string> > TypeKeyPairs;
+   
+   /// Standard algorithm Constructor
+   AthenaOutputStream(const std::string& name, ISvcLocator* pSvcLocator); 
+   /// Standard Destructor
+   virtual ~AthenaOutputStream();
+
    /// \name implement IAlgorithm
    //@{
    virtual StatusCode initialize();
diff --git a/Control/AthenaServices/src/AthenaSummarySvc.h b/Control/AthenaServices/src/AthenaSummarySvc.h
index cf4e064406a97aabfecf28ac47081b6497233473..7e05fcfa9e4e8c2dc72e3df6d21384aaaf7bb172 100644
--- a/Control/AthenaServices/src/AthenaSummarySvc.h
+++ b/Control/AthenaServices/src/AthenaSummarySvc.h
@@ -46,7 +46,6 @@
 #include <fstream>
 
 // Forward declarations
-template <class TYPE> class SvcFactory;
 
 
 
@@ -56,6 +55,11 @@ class AthenaSummarySvc: virtual public AthService,
 
 public:
 
+  AthenaSummarySvc( const std::string& name, ISvcLocator* svc );
+  
+  // Destructor.
+  virtual ~AthenaSummarySvc();
+
   virtual StatusCode initialize();
   virtual StatusCode reinitialize();
   virtual StatusCode finalize();
@@ -70,18 +74,8 @@ public:
 
   const std::string& getOutputFile() const { return m_summaryFile; }
 
-protected:
-
-  AthenaSummarySvc( const std::string& name, ISvcLocator* svc );
-  
-  // Destructor.
-  virtual ~AthenaSummarySvc();
-
 private:
 
- // Allow SvcFactory to instantiate the service.
-  friend class SvcFactory<AthenaSummarySvc>;
-
   void createDict(std::ofstream& );
   void createASCII(std::ofstream& );
 
diff --git a/Control/AthenaServices/src/JobIDSvc.h b/Control/AthenaServices/src/JobIDSvc.h
index 332f7b84523b1985deac56ec3ed4ee57d8208838..24e5c58eed6721e40d453e8567f67135f966c7a8 100644
--- a/Control/AthenaServices/src/JobIDSvc.h
+++ b/Control/AthenaServices/src/JobIDSvc.h
@@ -16,7 +16,6 @@
 #include "AthenaKernel/IJobIDSvc.h"
 #include "AthenaBaseComps/AthService.h"
 
-template<class TYPE> class SvcFactory;
 
 /** @class JobIDSvc 
  * @brief a service to distribute unique job identifier
@@ -43,9 +42,6 @@ public:
 			void** ppvInterface);
 	//@}
 
-protected:
-	friend class SvcFactory<JobIDSvc>;
-
 	// Standard Constructor
 	JobIDSvc(const std::string& name, ISvcLocator* svc);
 
diff --git a/Control/AthenaServices/src/MixingEventSelector.h b/Control/AthenaServices/src/MixingEventSelector.h
index 072aad27449ff5acc24ddaf4c1493db94c5170fa..fe6ed1e1cac8256fd5f101384bec4a439c0a0d4d 100644
--- a/Control/AthenaServices/src/MixingEventSelector.h
+++ b/Control/AthenaServices/src/MixingEventSelector.h
@@ -29,7 +29,6 @@
 #include "GaudiKernel/Property.h" /*StringArrayProperty*/
 
 class ISvcLocator;
-template <class TYPE> class SvcFactory;
 
 class MixingEventIterator;
 
@@ -142,9 +141,6 @@ public:
   /// functor that creates a Trigger object and adds it to m_trigList
   void decodeTrigger(std::string triggDescr);
 
-protected:
-  /// our factory
-  friend class SvcFactory<MixingEventSelector>;
   /// \name structors
   //@{
   MixingEventSelector(const std::string& name, ISvcLocator* svc);
diff --git a/Control/AthenaServices/src/PyAthenaEventLoopMgr.h b/Control/AthenaServices/src/PyAthenaEventLoopMgr.h
index 85873a4cfc9c5c5340f0afdbc1f00abdb852a21e..3d88bc62cd16a89ca06f62052e1ccbc9d9339208 100644
--- a/Control/AthenaServices/src/PyAthenaEventLoopMgr.h
+++ b/Control/AthenaServices/src/PyAthenaEventLoopMgr.h
@@ -36,12 +36,13 @@ typedef _object PyObject;
 */
 class PyAthenaEventLoopMgr : public AthenaEventLoopMgr   {
 public:
+  /// Standard Constructor
+  PyAthenaEventLoopMgr( const std::string& name, ISvcLocator* svcLoc );
+  ~PyAthenaEventLoopMgr() {}
+
   /// outside access
   static PyAthenaEventLoopMgr* pointer();
 
-  /// Creator friend class
-  friend class SvcFactory< PyAthenaEventLoopMgr >;
-
   /// actual manager object
   PyObject* setManager( PyObject* );
   PyObject* getManager();
@@ -55,10 +56,6 @@ protected:
    PyAthenaEventLoopMgr( const PyAthenaEventLoopMgr& ); // Not implemented
    PyAthenaEventLoopMgr& operator = ( const PyAthenaEventLoopMgr& ); // Not implemented
 	
-  /// Standard Constructor
-  PyAthenaEventLoopMgr( const std::string& name, ISvcLocator* svcLoc );
-  ~PyAthenaEventLoopMgr() {}
-
   /// Run the algorithms for the current event
   virtual StatusCode executeAlgorithms(const EventContext&);
 
diff --git a/Control/AthenaServices/src/SimplePOSIXTimeKeeperSvc.h b/Control/AthenaServices/src/SimplePOSIXTimeKeeperSvc.h
index a480b2fc0966dfd2be8c71029fd61207d4ed1c2d..4d8a52527f5b6b10ceefc218fe7b8fad65e0f2f8 100644
--- a/Control/AthenaServices/src/SimplePOSIXTimeKeeperSvc.h
+++ b/Control/AthenaServices/src/SimplePOSIXTimeKeeperSvc.h
@@ -17,8 +17,6 @@
 #endif
 
 
-template <class TYPE> class SvcFactory;
-
 /** @class SimplePOSIXTimeKeeperSvc
   * @brief service that implements ITimeKeeper using basic POSIX time api.
   *        Requires user to set the initial time budget.
@@ -55,9 +53,6 @@ public:
 				     void** ppvInterface );
   //@}
   
-protected:
-  friend class SvcFactory<SimplePOSIXTimeKeeperSvc>;
-  
   // Standard Constructor
   SimplePOSIXTimeKeeperSvc(const std::string& name, ISvcLocator* svc);
   
diff --git a/Control/AthenaServices/src/TestRandomSeqAlg.h b/Control/AthenaServices/src/TestRandomSeqAlg.h
index 53f6ba64de3ada1744eb227de51eb18d806e76cc..a3cf98a33d8990d97fb71d0741f148b603c36e00 100644
--- a/Control/AthenaServices/src/TestRandomSeqAlg.h
+++ b/Control/AthenaServices/src/TestRandomSeqAlg.h
@@ -12,7 +12,6 @@
 #include "GaudiKernel/ServiceHandle.h"
 class IAtRndmGenSvc;
 namespace CLHEP { class HepRandomEngine; }
-template <class ConcreteAlgorithm> class AlgFactory;
 /** @class TestRandomSegAlg
    * @brief a trivial algorithm to test the sequence of random numbers
    * produced by an IAtRndmGenSvc
@@ -23,6 +22,7 @@ template <class ConcreteAlgorithm> class AlgFactory;
 class TestRandomSeqAlg : public AthAlgorithm {
 
 public:
+  TestRandomSeqAlg(const std::string& name, ISvcLocator* pSvcLocator);
   /// \name implement IAlgorithm
   //@{
   virtual StatusCode initialize();
@@ -36,8 +36,6 @@ private:
   StringProperty m_streamName;
   /// number of random numbers to shoot (and print)
   IntegerProperty           m_noOfNo;
-  friend class AlgFactory<TestRandomSeqAlg>;
-  TestRandomSeqAlg(const std::string& name, ISvcLocator* pSvcLocator);
   CLHEP::HepRandomEngine* m_pEng;
 };
 
diff --git a/Control/AthenaServices/src/components/AthenaServices_entries.cxx b/Control/AthenaServices/src/components/AthenaServices_entries.cxx
index ffd02b647878bb043fe92839b5c7c34f5772820b..03c5daf6eca95915ec2126a1555fe6859c884d8b 100644
--- a/Control/AthenaServices/src/components/AthenaServices_entries.cxx
+++ b/Control/AthenaServices/src/components/AthenaServices_entries.cxx
@@ -32,37 +32,37 @@
 #include "../AthenaHiveEventLoopMgr.h"
 #include "../AthIncFirerAlg.h"
 
-DECLARE_ALGORITHM_FACTORY( AthenaOutputStream )
-DECLARE_ALGORITHM_FACTORY( AthenaConditionStream )
-DECLARE_ALGORITHM_FACTORY( TestRandomSeqAlg )
-DECLARE_SERVICE_FACTORY( MultipleEventLoopMgr )
-DECLARE_SERVICE_FACTORY( AthenaEventLoopMgr )
-DECLARE_SERVICE_FACTORY( AthenaHiveEventLoopMgr )
-DECLARE_SERVICE_FACTORY( PyAthenaEventLoopMgr )
-DECLARE_SERVICE_FACTORY( SimplePOSIXTimeKeeperSvc )
-DECLARE_SERVICE_FACTORY( MixingEventSelector )
-DECLARE_SERVICE_FACTORY( ThinningSvc )
-//DECLARE_SERVICE_FACTORY( EventDumperSvc )
-DECLARE_SERVICE_FACTORY( MemoryRescueSvc )
-DECLARE_SERVICE_FACTORY( FPEControlSvc )
-DECLARE_SERVICE_FACTORY( JobIDSvc )
-DECLARE_SERVICE_FACTORY( UserDataSvc )
-DECLARE_SERVICE_FACTORY( CoreDumpSvc )
-DECLARE_SERVICE_FACTORY( PageAccessControlSvc )
-DECLARE_SERVICE_FACTORY( AthDictLoaderSvc )
-DECLARE_SERVICE_FACTORY( AthenaSealSvc )
-DECLARE_SERVICE_FACTORY( DecisionSvc )
-DECLARE_SERVICE_FACTORY( ItemListSvc )
-DECLARE_SERVICE_FACTORY( AthenaSummarySvc )
-DECLARE_SERVICE_FACTORY( LoggedMessageSvc )
-DECLARE_NAMESPACE_SERVICE_FACTORY( Athena, JobOptionsSvc )
-DECLARE_NAMESPACE_SERVICE_FACTORY( Athena, RCUSvc )
-DECLARE_SERVICE_FACTORY( AthTPCnvSvc )
-DECLARE_SERVICE_FACTORY( EvtIdModifierSvc )
-DECLARE_SERVICE_FACTORY( MetaDataSvc )
-DECLARE_SERVICE_FACTORY( OutputStreamSequencerSvc )
-DECLARE_TOOL_FACTORY( AthenaOutputStreamTool )
-DECLARE_TOOL_FACTORY( ThinningOutputTool )
-DECLARE_ALGORITHM_FACTORY( AthenaStopperAlg )
-DECLARE_ALGORITHM_FACTORY( AthIncFirerAlg )
+DECLARE_COMPONENT( AthenaOutputStream )
+DECLARE_COMPONENT( AthenaConditionStream )
+DECLARE_COMPONENT( TestRandomSeqAlg )
+DECLARE_COMPONENT( MultipleEventLoopMgr )
+DECLARE_COMPONENT( AthenaEventLoopMgr )
+DECLARE_COMPONENT( AthenaHiveEventLoopMgr )
+DECLARE_COMPONENT( PyAthenaEventLoopMgr )
+DECLARE_COMPONENT( SimplePOSIXTimeKeeperSvc )
+DECLARE_COMPONENT( MixingEventSelector )
+DECLARE_COMPONENT( ThinningSvc )
+//DECLARE_COMPONENT( EventDumperSvc )
+DECLARE_COMPONENT( MemoryRescueSvc )
+DECLARE_COMPONENT( FPEControlSvc )
+DECLARE_COMPONENT( JobIDSvc )
+DECLARE_COMPONENT( UserDataSvc )
+DECLARE_COMPONENT( CoreDumpSvc )
+DECLARE_COMPONENT( PageAccessControlSvc )
+DECLARE_COMPONENT( AthDictLoaderSvc )
+DECLARE_COMPONENT( AthenaSealSvc )
+DECLARE_COMPONENT( DecisionSvc )
+DECLARE_COMPONENT( ItemListSvc )
+DECLARE_COMPONENT( AthenaSummarySvc )
+DECLARE_COMPONENT( LoggedMessageSvc )
+DECLARE_COMPONENT( Athena::JobOptionsSvc )
+DECLARE_COMPONENT( Athena::RCUSvc )
+DECLARE_COMPONENT( AthTPCnvSvc )
+DECLARE_COMPONENT( EvtIdModifierSvc )
+DECLARE_COMPONENT( MetaDataSvc )
+DECLARE_COMPONENT( OutputStreamSequencerSvc )
+DECLARE_COMPONENT( AthenaOutputStreamTool )
+DECLARE_COMPONENT( ThinningOutputTool )
+DECLARE_COMPONENT( AthenaStopperAlg )
+DECLARE_COMPONENT( AthIncFirerAlg )
 
diff --git a/Control/CLIDComps/src/ClassIDSvc.h b/Control/CLIDComps/src/ClassIDSvc.h
index 8146aace1720373481dbf945e690b0ee48651cf8..2f8eb7c132d573a25a9fcc2ead51e3e93b831437 100644
--- a/Control/CLIDComps/src/ClassIDSvc.h
+++ b/Control/CLIDComps/src/ClassIDSvc.h
@@ -28,7 +28,6 @@
 
 #include "SGTools/CLIDRegistry.h"
 
-template <class TYPE> class SvcFactory;
 
 /** @class ClassIDSvc 
  * @brief a service to manage and verify CLID assignments in athena.
@@ -104,9 +103,6 @@ public:
   void handle(const Incident &inc) override;
 
   
-protected:
-  friend class SvcFactory<ClassIDSvc>;
-
   // Standard Constructor
   ClassIDSvc(const std::string& name, ISvcLocator* svc);
         
diff --git a/Control/CLIDComps/src/components/CLIDComps_entries.cxx b/Control/CLIDComps/src/components/CLIDComps_entries.cxx
index de63ba172ab87a4039dadb8c5c56029b0319ad62..dd350626215bd2129c600b9e7dc5f1e58fb3264d 100644
--- a/Control/CLIDComps/src/components/CLIDComps_entries.cxx
+++ b/Control/CLIDComps/src/components/CLIDComps_entries.cxx
@@ -1,4 +1,4 @@
 #include "../ClassIDSvc.h"
 
-DECLARE_SERVICE_FACTORY( ClassIDSvc )
+DECLARE_COMPONENT( ClassIDSvc )
 
diff --git a/Control/DataModelAthenaPool/src/components/DataModelAthenaPool_entries.cxx b/Control/DataModelAthenaPool/src/components/DataModelAthenaPool_entries.cxx
index 185dcbc91939bcf81307d1eb5fb2267047a24e37..afa85935e59969d3e1a3a4498964c7c31cf8b090 100644
--- a/Control/DataModelAthenaPool/src/components/DataModelAthenaPool_entries.cxx
+++ b/Control/DataModelAthenaPool/src/components/DataModelAthenaPool_entries.cxx
@@ -8,5 +8,5 @@
 
 #include "DataModelAthenaPool/DataModelCompatSvc.h"
 
-DECLARE_SERVICE_FACTORY(DataModelCompatSvc)
+DECLARE_COMPONENT( DataModelCompatSvc )
 
diff --git a/Control/DataModelTest/DataModelTestDataCommon/src/components/DataModelTestDataCommon_entries.cxx b/Control/DataModelTest/DataModelTestDataCommon/src/components/DataModelTestDataCommon_entries.cxx
index 2ae1f9ca06b8ad5896a8044145c0f0cba37bbb9f..3c1e8e937364b166b930e0545f79d9605bc4c8b2 100644
--- a/Control/DataModelTest/DataModelTestDataCommon/src/components/DataModelTestDataCommon_entries.cxx
+++ b/Control/DataModelTest/DataModelTestDataCommon/src/components/DataModelTestDataCommon_entries.cxx
@@ -21,14 +21,14 @@
 #include "../xAODTestReadSymlinkTool.h"
 #include "../CondAlg1.h"
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestReadSymlink)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestReadDecor)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestDecor)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestAlg)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestWriteCInfo)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, CondWriterAlg)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, CondReaderAlg)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, CondAlg1)
+DECLARE_COMPONENT( DMTest::xAODTestReadSymlink )
+DECLARE_COMPONENT( DMTest::xAODTestReadDecor )
+DECLARE_COMPONENT( DMTest::xAODTestDecor )
+DECLARE_COMPONENT( DMTest::xAODTestAlg )
+DECLARE_COMPONENT( DMTest::xAODTestWriteCInfo )
+DECLARE_COMPONENT( DMTest::CondWriterAlg )
+DECLARE_COMPONENT( DMTest::CondReaderAlg )
+DECLARE_COMPONENT( DMTest::CondAlg1 )
 
-DECLARE_NAMESPACE_TOOL_FACTORY(DMTest, xAODTestReadSymlinkTool)
+DECLARE_COMPONENT( DMTest::xAODTestReadSymlinkTool )
 
diff --git a/Control/DataModelTest/DataModelTestDataRead/src/components/DataModelTestDataRead_entries.cxx b/Control/DataModelTest/DataModelTestDataRead/src/components/DataModelTestDataRead_entries.cxx
index 7207b8e0dfc25a163e7c3a338bb679dd95907d71..655480bd52b4419c20be5fabbea3189eefe978a4 100644
--- a/Control/DataModelTest/DataModelTestDataRead/src/components/DataModelTestDataRead_entries.cxx
+++ b/Control/DataModelTest/DataModelTestDataRead/src/components/DataModelTestDataRead_entries.cxx
@@ -22,19 +22,19 @@
 #include "../xAODTestShallowCopy.h"
 #include "../HLTResultReader.h"
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, DMTestRead)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, AuxDataTestRead)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, AuxDataTestDecor)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, AuxDataTestClearDecor)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, AuxDataTestTypelessRead)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestRead)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestReadCVec)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestReadCInfo)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestReadCView)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestReadHVec)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestFilterCVec)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestClearDecor)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestTypelessRead)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestShallowCopy)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, HLTResultReader)
+DECLARE_COMPONENT( DMTest::DMTestRead )
+DECLARE_COMPONENT( DMTest::AuxDataTestRead )
+DECLARE_COMPONENT( DMTest::AuxDataTestDecor )
+DECLARE_COMPONENT( DMTest::AuxDataTestClearDecor )
+DECLARE_COMPONENT( DMTest::AuxDataTestTypelessRead )
+DECLARE_COMPONENT( DMTest::xAODTestRead )
+DECLARE_COMPONENT( DMTest::xAODTestReadCVec )
+DECLARE_COMPONENT( DMTest::xAODTestReadCInfo )
+DECLARE_COMPONENT( DMTest::xAODTestReadCView )
+DECLARE_COMPONENT( DMTest::xAODTestReadHVec )
+DECLARE_COMPONENT( DMTest::xAODTestFilterCVec )
+DECLARE_COMPONENT( DMTest::xAODTestClearDecor )
+DECLARE_COMPONENT( DMTest::xAODTestTypelessRead )
+DECLARE_COMPONENT( DMTest::xAODTestShallowCopy )
+DECLARE_COMPONENT( DMTest::HLTResultReader )
 
diff --git a/Control/DataModelTest/DataModelTestDataWrite/src/components/DataModelTestDataWrite_entries.cxx b/Control/DataModelTest/DataModelTestDataWrite/src/components/DataModelTestDataWrite_entries.cxx
index a491534d765cb937593341ba2f95378dc7c73e7f..a0d353d8b748d6fdbd42a747482a9f003b308240 100644
--- a/Control/DataModelTest/DataModelTestDataWrite/src/components/DataModelTestDataWrite_entries.cxx
+++ b/Control/DataModelTest/DataModelTestDataWrite/src/components/DataModelTestDataWrite_entries.cxx
@@ -17,15 +17,15 @@
 #include "../HLTResultWriter.h"
 #include "../xAODTestWriteCInfoTool.h"
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, DMTestWrite)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, AuxDataTestWrite)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestWrite)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestWriteCVec)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestWriteHVec)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestWriteCView)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestWriteCVecConst)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, xAODTestWriteSymlinks)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(DMTest, HLTResultWriter)
+DECLARE_COMPONENT( DMTest::DMTestWrite )
+DECLARE_COMPONENT( DMTest::AuxDataTestWrite )
+DECLARE_COMPONENT( DMTest::xAODTestWrite )
+DECLARE_COMPONENT( DMTest::xAODTestWriteCVec )
+DECLARE_COMPONENT( DMTest::xAODTestWriteHVec )
+DECLARE_COMPONENT( DMTest::xAODTestWriteCView )
+DECLARE_COMPONENT( DMTest::xAODTestWriteCVecConst )
+DECLARE_COMPONENT( DMTest::xAODTestWriteSymlinks )
+DECLARE_COMPONENT( DMTest::HLTResultWriter )
 
-DECLARE_NAMESPACE_TOOL_FACTORY(DMTest, xAODTestWriteCInfoTool)
+DECLARE_COMPONENT( DMTest::xAODTestWriteCInfoTool )
 
diff --git a/Control/GaudiSequencer/src/components/GaudiSequencer_entries.cxx b/Control/GaudiSequencer/src/components/GaudiSequencer_entries.cxx
index 6bfaee738486c22aa5d395962d51bbee3e2dc65a..f816583521e5bfe53490e680768f4173cf611136 100644
--- a/Control/GaudiSequencer/src/components/GaudiSequencer_entries.cxx
+++ b/Control/GaudiSequencer/src/components/GaudiSequencer_entries.cxx
@@ -5,9 +5,9 @@
 #include "../AthPrescaler.h"
 
 
-DECLARE_ALGORITHM_FACTORY( AthRetrySequencer )
-DECLARE_ALGORITHM_FACTORY( AthSequencer )
-DECLARE_ALGORITHM_FACTORY( AthAnalysisSequencer )
-DECLARE_ALGORITHM_FACTORY( AthEventCounter )
-DECLARE_ALGORITHM_FACTORY( AthPrescaler )
+DECLARE_COMPONENT( AthRetrySequencer )
+DECLARE_COMPONENT( AthSequencer )
+DECLARE_COMPONENT( AthAnalysisSequencer )
+DECLARE_COMPONENT( AthEventCounter )
+DECLARE_COMPONENT( AthPrescaler )
 
diff --git a/Control/IOVSvc/IOVSvc/IOVSvc.h b/Control/IOVSvc/IOVSvc/IOVSvc.h
index 424140300d6edce875fcd6cff57ad38d3565bb82..bbe15bbaf71889883a3c86a01ab524282d9b46eb 100755
--- a/Control/IOVSvc/IOVSvc/IOVSvc.h
+++ b/Control/IOVSvc/IOVSvc/IOVSvc.h
@@ -68,8 +68,6 @@
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/ICondSvc.h"
 
-// Forward declarations
-template <class TYPE> class SvcFactory;
 
 
 class StoreGateSvc;
@@ -89,6 +87,9 @@ class IOVSvc: virtual public AthService,
 
 public:
 
+  IOVSvc( const std::string& name, ISvcLocator* svc );
+  virtual ~IOVSvc();
+
   virtual StatusCode initialize();
   virtual StatusCode reinitialize();
   virtual StatusCode finalize();
@@ -182,13 +183,6 @@ public:
                                    const EventIDBase&);
 
 
-protected:
-
-  IOVSvc( const std::string& name, ISvcLocator* svc );
-  
-  /// Destructor.
-  virtual ~IOVSvc();
-
 private:
 
   bool createIOVTool(const std::string& storeName, IIOVSvcTool*& tool) const;
@@ -201,8 +195,6 @@ private:
   std::string fullProxyName( const SG::DataProxy* proxy ) const;
   std::string fullProxyName( const CLID& clid, const std::string& key ) const;
   
-  // Allow SvcFactory to instantiate the service.
-  friend class SvcFactory<IOVSvc>;
 
   typedef std::map< std::string, IIOVSvcTool* > toolMap;
 
diff --git a/Control/IOVSvc/src/components/IOVSvc_entries.cxx b/Control/IOVSvc/src/components/IOVSvc_entries.cxx
index 43283cfac282ca7f9ffe76530b0a7fa0320fbe48..834d47e75e10457209c5d19b4f1ca7f2e8287022 100644
--- a/Control/IOVSvc/src/components/IOVSvc_entries.cxx
+++ b/Control/IOVSvc/src/components/IOVSvc_entries.cxx
@@ -4,11 +4,11 @@
 #include "../CondInputLoader.h"
 #include "../MetaInputLoader.h"
 
-DECLARE_SERVICE_FACTORY(IOVSvc)
-DECLARE_TOOL_FACTORY( IOVSvcTool )
+DECLARE_COMPONENT( IOVSvc )
+DECLARE_COMPONENT( IOVSvcTool )
 
-DECLARE_SERVICE_FACTORY(CondSvc)
+DECLARE_COMPONENT( CondSvc )
 
-DECLARE_ALGORITHM_FACTORY( CondInputLoader )
-DECLARE_ALGORITHM_FACTORY( MetaInputLoader )
+DECLARE_COMPONENT( CondInputLoader )
+DECLARE_COMPONENT( MetaInputLoader )
 
diff --git a/Control/PerformanceMonitoring/PerfMonComps/src/components/PerfMonComps_entries.cxx b/Control/PerformanceMonitoring/PerfMonComps/src/components/PerfMonComps_entries.cxx
index 050453b9c45ec241072c82e7ebe4796627f0f912..7cd8a61913beb58e51a8ccff91419e946cedda3e 100644
--- a/Control/PerformanceMonitoring/PerfMonComps/src/components/PerfMonComps_entries.cxx
+++ b/Control/PerformanceMonitoring/PerfMonComps/src/components/PerfMonComps_entries.cxx
@@ -6,11 +6,11 @@
 #include "../PerfMonStorePayloadMon.h"
 
   
-DECLARE_SERVICE_FACTORY( PerfMonSvc  )
-DECLARE_NAMESPACE_AUDITOR_FACTORY( Athena, PerfMonAuditor )
-// DECLARE_NAMESPACE_TOOL_FACTORY( PerfMon, LdTool )
+DECLARE_COMPONENT( PerfMonSvc )
+DECLARE_COMPONENT( Athena::PerfMonAuditor )
+// DECLARE_COMPONENT( PerfMon::LdTool )
 
-DECLARE_NAMESPACE_SERVICE_FACTORY( PerfMon, CallGraphBuilderSvc )
-DECLARE_NAMESPACE_AUDITOR_FACTORY( PerfMon, CallGraphAuditor )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMon, StorePayloadMon )
+DECLARE_COMPONENT( PerfMon::CallGraphBuilderSvc )
+DECLARE_COMPONENT( PerfMon::CallGraphAuditor )
+DECLARE_COMPONENT( PerfMon::StorePayloadMon )
 
diff --git a/Control/PerformanceMonitoring/PerfMonGPerfTools/src/components/PerfMonGPerfTools_entries.cxx b/Control/PerformanceMonitoring/PerfMonGPerfTools/src/components/PerfMonGPerfTools_entries.cxx
index 6aa26bd2f70c9e84d80d3539d7e46ec3008975d5..c0d4ff0b1891488244fbc1aeb8cc70174a343214 100644
--- a/Control/PerformanceMonitoring/PerfMonGPerfTools/src/components/PerfMonGPerfTools_entries.cxx
+++ b/Control/PerformanceMonitoring/PerfMonGPerfTools/src/components/PerfMonGPerfTools_entries.cxx
@@ -1,4 +1,4 @@
 #include "../ProfilerService.h"
 
-DECLARE_NAMESPACE_SERVICE_FACTORY( GPT, ProfilerService )
+DECLARE_COMPONENT( GPT::ProfilerService )
 
diff --git a/Control/PerformanceMonitoring/PerfMonTests/src/components/PerfMonTests_entries.cxx b/Control/PerformanceMonitoring/PerfMonTests/src/components/PerfMonTests_entries.cxx
index 5cd0dd04eb76805aa505dbc51aac5fedc504a860..0eabef7a84481290bd02739ea28360e0776fc9fa 100644
--- a/Control/PerformanceMonitoring/PerfMonTests/src/components/PerfMonTests_entries.cxx
+++ b/Control/PerformanceMonitoring/PerfMonTests/src/components/PerfMonTests_entries.cxx
@@ -10,14 +10,14 @@
 #include "../PerfMonTestPolyVectorAlgWithArenas.h"
 
   
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, NoopAlg  )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, LeakyAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, BasicAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, CpuCruncherAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, MallocAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, ErroneousAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, ManyLeaksAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, VectorAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, PolyVectorAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( PerfMonTest, PolyVectorAlgWithArenas )
+DECLARE_COMPONENT( PerfMonTest::NoopAlg )
+DECLARE_COMPONENT( PerfMonTest::LeakyAlg )
+DECLARE_COMPONENT( PerfMonTest::BasicAlg )
+DECLARE_COMPONENT( PerfMonTest::CpuCruncherAlg )
+DECLARE_COMPONENT( PerfMonTest::MallocAlg )
+DECLARE_COMPONENT( PerfMonTest::ErroneousAlg )
+DECLARE_COMPONENT( PerfMonTest::ManyLeaksAlg )
+DECLARE_COMPONENT( PerfMonTest::VectorAlg )
+DECLARE_COMPONENT( PerfMonTest::PolyVectorAlg )
+DECLARE_COMPONENT( PerfMonTest::PolyVectorAlgWithArenas )
 
diff --git a/Control/PileUpComps/src/components/PileUpComps_entries.cxx b/Control/PileUpComps/src/components/PileUpComps_entries.cxx
index e9962d9c3705fce7d57f9b34eef39de855390731..2fecbbefb9fcfa29b8b224a3a89f99ba754c3dac 100644
--- a/Control/PileUpComps/src/components/PileUpComps_entries.cxx
+++ b/Control/PileUpComps/src/components/PileUpComps_entries.cxx
@@ -14,19 +14,19 @@
 #include "../LumiProfileSvc.h"
 #include "../NoProfileSvc.h"
 
-DECLARE_SERVICE_FACTORY(PileUpEventLoopMgr)
-DECLARE_SERVICE_FACTORY(FlatBM)
-DECLARE_SERVICE_FACTORY(ArrayBM)
-DECLARE_SERVICE_FACTORY(FixedArrayBM)
-DECLARE_SERVICE_FACTORY(StepArrayBM)
-DECLARE_SERVICE_FACTORY(LumiProfileSvc)
-DECLARE_SERVICE_FACTORY(NoProfileSvc)
-DECLARE_TOOL_FACTORY(BkgStreamsCache)
-DECLARE_TOOL_FACTORY(BkgStreamsConcentricCache)
-DECLARE_TOOL_FACTORY(BkgStreamsStepCache)
-DECLARE_TOOL_FACTORY(SplitBkgStreamsCache)
-DECLARE_TOOL_FACTORY( PileUpXingFolder )
-DECLARE_TOOL_FACTORY( TestPileUpTool )
-DECLARE_ALGORITHM_FACTORY( PileUpToolsAlg )
-DECLARE_ALGORITHM_FACTORY( DigitizationAlg )
+DECLARE_COMPONENT( PileUpEventLoopMgr )
+DECLARE_COMPONENT( FlatBM )
+DECLARE_COMPONENT( ArrayBM )
+DECLARE_COMPONENT( FixedArrayBM )
+DECLARE_COMPONENT( StepArrayBM )
+DECLARE_COMPONENT( LumiProfileSvc )
+DECLARE_COMPONENT( NoProfileSvc )
+DECLARE_COMPONENT( BkgStreamsCache )
+DECLARE_COMPONENT( BkgStreamsConcentricCache )
+DECLARE_COMPONENT( BkgStreamsStepCache )
+DECLARE_COMPONENT( SplitBkgStreamsCache )
+DECLARE_COMPONENT( PileUpXingFolder )
+DECLARE_COMPONENT( TestPileUpTool )
+DECLARE_COMPONENT( PileUpToolsAlg )
+DECLARE_COMPONENT( DigitizationAlg )
 
diff --git a/Control/PileUpTools/PileUpTools/PileUpMergeSvc.h b/Control/PileUpTools/PileUpTools/PileUpMergeSvc.h
index 1652626d35dc3ea2b9a5c1a52c16490783a955c8..08c14ca7ea4593b54d69df77f212b8dd023c8190 100755
--- a/Control/PileUpTools/PileUpTools/PileUpMergeSvc.h
+++ b/Control/PileUpTools/PileUpTools/PileUpMergeSvc.h
@@ -39,7 +39,6 @@ class StoreGateSvc;
 class ITriggerTime;
 class IToolSvc;
 
-template <class TYPE> class SvcFactory;
 
 /** @class PileUpMergeSvc
   @brief the preferred mechanism to access information from the different event
@@ -55,7 +54,11 @@ template <class TYPE> class SvcFactory;
 class PileUpMergeSvc : public AthService {
 
 public:
-  friend class SvcFactory<PileUpMergeSvc>;
+  /// Standard Gaudi Constructor
+  PileUpMergeSvc(const std::string& name, ISvcLocator* svc);
+        
+  virtual ~PileUpMergeSvc() {}
+
   virtual StatusCode initialize();
 
   ///generate the types of the timed data objects
@@ -159,12 +162,6 @@ private:
 
   bool doRefresh(const Range& r, int iXing);
 
-protected:
-  /// Standard Gaudi Constructor
-  PileUpMergeSvc(const std::string& name, ISvcLocator* svc);
-        
-  virtual ~PileUpMergeSvc() {}
-
 };
 #include "PileUpTools/PileUpMergeSvc.icc"
 #endif /* PILEUPTOOLS_PILEUPMERGESVC_H */
diff --git a/Control/PileUpTools/src/components/PileUpTools_entries.cxx b/Control/PileUpTools/src/components/PileUpTools_entries.cxx
index 386bd115a80e2610b456e8235e623376d6811246..87469befeb0cdeee7c625737d390662e7bdda751 100644
--- a/Control/PileUpTools/src/components/PileUpTools_entries.cxx
+++ b/Control/PileUpTools/src/components/PileUpTools_entries.cxx
@@ -1,4 +1,4 @@
 #include "PileUpTools/PileUpMergeSvc.h"
 
-DECLARE_SERVICE_FACTORY(PileUpMergeSvc) 
+DECLARE_COMPONENT( PileUpMergeSvc ) 
 
diff --git a/Control/RngComps/src/components/RngComps_entries.cxx b/Control/RngComps/src/components/RngComps_entries.cxx
index 51dbaf5cd967073944d94a4fbd0848f40d35ad74..22470c6d99924728224f9bdde7a1e51adad45f4d 100644
--- a/Control/RngComps/src/components/RngComps_entries.cxx
+++ b/Control/RngComps/src/components/RngComps_entries.cxx
@@ -3,8 +3,8 @@
 #include "../AtRanluxGenSvc.h"
 #include "../AthRNGSvc.h"
 
-DECLARE_SERVICE_FACTORY( AtDSFMTGenSvc )
-DECLARE_SERVICE_FACTORY( AtRanluxGenSvc )
-DECLARE_SERVICE_FACTORY( AtRndmGenSvc )
-DECLARE_SERVICE_FACTORY( AthRNGSvc )
+DECLARE_COMPONENT( AtDSFMTGenSvc )
+DECLARE_COMPONENT( AtRanluxGenSvc )
+DECLARE_COMPONENT( AtRndmGenSvc )
+DECLARE_COMPONENT( AthRNGSvc )
 
diff --git a/Control/SGComps/src/ProxyProviderSvc.h b/Control/SGComps/src/ProxyProviderSvc.h
index 6ba5898a93e8e5485e39ede24a4626e3f78e0174..384101473571697d1a5dd0a843fc0ee518c1aaf5 100644
--- a/Control/SGComps/src/ProxyProviderSvc.h
+++ b/Control/SGComps/src/ProxyProviderSvc.h
@@ -36,7 +36,6 @@ class IProxyRegistry; //this is DataStore
 class IConversionSvc;
 class IOpaqueAddress;
 class ISvcLocator;
-template <class TYPE> class SvcFactory;
 
 ///manages the address providers and add proxies on demand to the store
 class ProxyProviderSvc : public extends<AthService, IProxyProviderSvc>
@@ -75,9 +74,6 @@ public:
   virtual StatusCode initialize() override;
   //@}
 
-protected:    
-  /// the Service Factory
-  friend class SvcFactory<ProxyProviderSvc>;
   /// Standard Service Constructor
   ProxyProviderSvc(const std::string& name, ISvcLocator* svcLoc);
   virtual ~ProxyProviderSvc();
diff --git a/Control/SGComps/src/components/SGComps_entries.cxx b/Control/SGComps/src/components/SGComps_entries.cxx
index e458e1d3e4b4c5f7dd0de26d41fc628cbbf0c699..8034e4ea8e4702493fc10ef58679c6eeee3aa1b0 100644
--- a/Control/SGComps/src/components/SGComps_entries.cxx
+++ b/Control/SGComps/src/components/SGComps_entries.cxx
@@ -6,12 +6,12 @@
 #include "../SGCommitAuditor.h"
 #include "../SGInputLoader.h"
 
-DECLARE_ALGORITHM_FACTORY( SGDeleteAlg )
-DECLARE_ALGORITHM_FACTORY( SGAccessAlg )
-DECLARE_SERVICE_FACTORY( ProxyProviderSvc )
-DECLARE_SERVICE_FACTORY( AddressRemappingSvc )
-DECLARE_AUDITOR_FACTORY( SGCommitAuditor )
-DECLARE_NAMESPACE_TOOL_FACTORY(SG, Folder )
+DECLARE_COMPONENT( SGDeleteAlg )
+DECLARE_COMPONENT( SGAccessAlg )
+DECLARE_COMPONENT( ProxyProviderSvc )
+DECLARE_COMPONENT( AddressRemappingSvc )
+DECLARE_COMPONENT( SGCommitAuditor )
+DECLARE_COMPONENT( SG::Folder )
 
-DECLARE_ALGORITHM_FACTORY(SGInputLoader)
+DECLARE_COMPONENT( SGInputLoader )
 
diff --git a/Control/SGMon/SGAudSvc/src/components/SGAudSvc_entries.cxx b/Control/SGMon/SGAudSvc/src/components/SGAudSvc_entries.cxx
index 4968c9b1430418284a7a596830b268093a7b3c32..0934244875ffd687496c55b4bca8bdff294794b5 100644
--- a/Control/SGMon/SGAudSvc/src/components/SGAudSvc_entries.cxx
+++ b/Control/SGMon/SGAudSvc/src/components/SGAudSvc_entries.cxx
@@ -2,6 +2,6 @@
 //#include "../PerfMonAuditor.h"
 
   
-DECLARE_SERVICE_FACTORY( SGAudSvc  )
-//DECLARE_AUDITOR_FACTORY( PerfMonAuditor )
+DECLARE_COMPONENT( SGAudSvc )
+//DECLARE_COMPONENT( PerfMonAuditor )
 
diff --git a/Control/StoreGate/StoreGate/ActiveStoreSvc.h b/Control/StoreGate/StoreGate/ActiveStoreSvc.h
index 5c1777f37eec90f9d63bdf4cc7bd09068a04be2a..af64866a301cd08c91668f40bbf0ea19b05f8bc8 100644
--- a/Control/StoreGate/StoreGate/ActiveStoreSvc.h
+++ b/Control/StoreGate/StoreGate/ActiveStoreSvc.h
@@ -13,7 +13,6 @@
 class StoreGateSvc;
 class ISvcLocator;
 
-template <class TYPE> class SvcFactory;
 
 /** @class ActiveStoreSvc
  *  @brief A service that caches a pointer to the currently active store. 
@@ -32,7 +31,6 @@ class ActiveStoreSvc : public IProxyDict,
                        public Service
 {
 public:
-  friend class SvcFactory<ActiveStoreSvc>;
 
   ///returns pointer to the active store as StoreGateSvc
   inline StoreGateSvc* activeStore() const {
@@ -158,19 +156,17 @@ public:
 
   /// not really kosher: should be in IActiveStoreSvc
   static const InterfaceID& interfaceID(); 
+  
+  /// Standard Service Constructor. sets active store to default event store
+  ActiveStoreSvc(const std::string& name, ISvcLocator* svc);
+
+  virtual ~ActiveStoreSvc() override;
 
 private:
   StoreGateSvc* activeStoreOOL() const;
   StoreGateSvc* p_activeStore;    
   std::string m_storeName; //< property: StoreGate instance name
 
-protected:
-    
-  /// Standard Service Constructor. sets active store to default event store
-  ActiveStoreSvc(const std::string& name, ISvcLocator* svc);
-
-  virtual ~ActiveStoreSvc() override;
-
 };
 #endif // STOREGATE_ACTIVESTORESVC_H
 
diff --git a/Control/StoreGate/StoreGate/SegMemSvc.h b/Control/StoreGate/StoreGate/SegMemSvc.h
index 3ef9c827c56edd8491141d2e161c1858ef9b4844..c2c5711484ca4a528ab6a3de35a6c58c9b799df9 100644
--- a/Control/StoreGate/StoreGate/SegMemSvc.h
+++ b/Control/StoreGate/StoreGate/SegMemSvc.h
@@ -16,8 +16,6 @@
 
 #include <string>
 
-// Forward declarations
-template <class TYPE> class SvcFactory;
 
 /** @class SegMemSvc
  * @brief Service to access an arena caching allocator
@@ -77,8 +75,6 @@ public:
   //@}
   
   
-protected:
-  
   SegMemSvc( const std::string& name, ISvcLocator* svc ); 
   
   // Destructor.
@@ -86,7 +82,6 @@ protected:
   
   
 private:
-  friend class SvcFactory<SegMemSvc>;
   
   ServiceHandle<IIncidentSvc> p_incSvc;
 
diff --git a/Control/StoreGate/src/SGHiveMgrSvc.h b/Control/StoreGate/src/SGHiveMgrSvc.h
index 24d9e0454004dbe43b39a6662dbc9a64648eb93b..aaee3b5b1da10705b7539d07d8fd436662f05c8a 100644
--- a/Control/StoreGate/src/SGHiveMgrSvc.h
+++ b/Control/StoreGate/src/SGHiveMgrSvc.h
@@ -22,7 +22,6 @@
 class StoreGateSvc;
 class ISvcLocator;
 
-template <class TYPE> class SvcFactory;
 
 /** @class HiveMgrSvc
  *  @brief A service that manages a multi-event collection of StoreGateSvc
@@ -32,7 +31,6 @@ template <class TYPE> class SvcFactory;
  **/
 namespace SG {
   class HiveMgrSvc : virtual public IHiveWhiteBoard, public Service,  public IIncidentListener {
-  friend class SvcFactory<HiveMgrSvc>;
   friend class TestSGHiveMgrSvc;
 public:
   //@{ @name IHiveWhiteBoard implementation
@@ -107,19 +105,19 @@ public:
   virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface ) override;
   //@}
 
-    //handle incidents
-    virtual void handle(const Incident&) override final;    
+  //handle incidents
+  virtual void handle(const Incident&) override final;    
+
+  /// Standard Service Constructor. sets active store to default event store
+  HiveMgrSvc(const std::string& name, ISvcLocator* svc);
+
+  virtual ~HiveMgrSvc() {}
 
 private:
   ServiceHandle<StoreGateSvc> m_hiveStore;
   size_t m_nSlots; //property settable also by setNumberOfStores
   std::vector<SG::HiveEventSlot> m_slots;
   //maybe  ServiceHandle<ActiveStoreSvc> m_active;
-protected:
-  /// Standard Service Constructor. sets active store to default event store
-  HiveMgrSvc(const std::string& name, ISvcLocator* svc);
-
-  virtual ~HiveMgrSvc() {}
 
 };
 } //namespace SG
diff --git a/Control/StoreGate/src/components/StoreGateSvc_entries.cxx b/Control/StoreGate/src/components/StoreGateSvc_entries.cxx
index fe4d85ad8b52803ab585fd2b4be86157ca6aa6b6..68da1664d271c092aca4b52075d40ab03cfd6ee8 100644
--- a/Control/StoreGate/src/components/StoreGateSvc_entries.cxx
+++ b/Control/StoreGate/src/components/StoreGateSvc_entries.cxx
@@ -4,9 +4,9 @@
 #include "StoreGate/SegMemSvc.h"
 #include "../SGHiveMgrSvc.h"
 
-DECLARE_SERVICE_FACTORY( ActiveStoreSvc )
-DECLARE_SERVICE_FACTORY( StoreGateSvc )
-DECLARE_SERVICE_FACTORY( SGImplSvc )
-DECLARE_SERVICE_FACTORY( SegMemSvc )
-DECLARE_NAMESPACE_SERVICE_FACTORY( SG, HiveMgrSvc )
+DECLARE_COMPONENT( ActiveStoreSvc )
+DECLARE_COMPONENT( StoreGateSvc )
+DECLARE_COMPONENT( SGImplSvc )
+DECLARE_COMPONENT( SegMemSvc )
+DECLARE_COMPONENT( SG::HiveMgrSvc )
 
diff --git a/Control/StoreGateTests/src/components/StoreGateTests_entries.cxx b/Control/StoreGateTests/src/components/StoreGateTests_entries.cxx
index dcf5d6a716bd15765aff22c8235d166bf021562e..1f8a99768ea4c21994367b973c3cf4cb96fd1388 100644
--- a/Control/StoreGateTests/src/components/StoreGateTests_entries.cxx
+++ b/Control/StoreGateTests/src/components/StoreGateTests_entries.cxx
@@ -2,6 +2,6 @@
 #include "../SgStressConsumer.h"
 
   
-DECLARE_ALGORITHM_FACTORY( SgStressProducer )
-DECLARE_ALGORITHM_FACTORY( SgStressConsumer )
+DECLARE_COMPONENT( SgStressProducer )
+DECLARE_COMPONENT( SgStressConsumer )
 
diff --git a/Control/Valkyrie/src/components/Valkyrie_entries.cxx b/Control/Valkyrie/src/components/Valkyrie_entries.cxx
index 8ed756bf2fcb9cfcc732c13cce82a433ff766371..d064a10c2c158530385141c60f34f1a3609e4067 100644
--- a/Control/Valkyrie/src/components/Valkyrie_entries.cxx
+++ b/Control/Valkyrie/src/components/Valkyrie_entries.cxx
@@ -1,6 +1,6 @@
 #include "../ValgrindSvc.h"
 #include "../ValgrindAuditor.h"
 
-DECLARE_SERVICE_FACTORY( ValgrindSvc )
-DECLARE_AUDITOR_FACTORY( ValgrindAuditor )
+DECLARE_COMPONENT( ValgrindSvc )
+DECLARE_COMPONENT( ValgrindAuditor )
 
diff --git a/Event/ByteStreamCnvSvc/ByteStreamCnvSvc/ByteStreamCnvSvc.h b/Event/ByteStreamCnvSvc/ByteStreamCnvSvc/ByteStreamCnvSvc.h
index 956e554cff2edc747a7fda0f5460bd881829a88a..87661172c9457b63b3e23698de8914fb6a4abf69 100644
--- a/Event/ByteStreamCnvSvc/ByteStreamCnvSvc/ByteStreamCnvSvc.h
+++ b/Event/ByteStreamCnvSvc/ByteStreamCnvSvc/ByteStreamCnvSvc.h
@@ -13,9 +13,6 @@
 class ByteStreamOutputSvc;
 class FullEventAssemblerBase;
 
-/// Abstract factory to create the service
-template <class TYPE> class SvcFactory;
-
 /** @class ByteStreamCnvSvc
     @brief Gaudi COnversion Service class for ByteStream Persistency
 
@@ -31,10 +28,14 @@ template <class TYPE> class SvcFactory;
 */
 
 class ByteStreamCnvSvc : public ByteStreamCnvSvcBase/*, virtual public IService*/ {
-   /// Allow the factory class access to the constructor
-   friend class SvcFactory<ByteStreamCnvSvc>;
 
 public:
+   /// Standard Constructor
+   ByteStreamCnvSvc(const std::string& name, ISvcLocator* svc);
+
+   /// Standard Destructor
+   virtual ~ByteStreamCnvSvc();
+
    /// Gaudi Service Interface method implementations:
    virtual StatusCode initialize();
    virtual StatusCode finalize();
@@ -50,12 +51,6 @@ public:
    template <class T> StatusCode getFullEventAssembler(T*&t, std::string nm);
 
 protected:
-   /// Standard Constructor
-   ByteStreamCnvSvc(const std::string& name, ISvcLocator* svc);
-
-   /// Standard Destructor
-   virtual ~ByteStreamCnvSvc();
-
    /// Write the FEA to RawEvent.
    void writeFEA();
 
diff --git a/Event/ByteStreamCnvSvc/src/components/ByteStreamCnvSvc_entries.cxx b/Event/ByteStreamCnvSvc/src/components/ByteStreamCnvSvc_entries.cxx
index 9e9725a24eb772efcbcef8055c9ae34b15473167..09e925a1dd14dea574b9662a5775d8b2e4b08d6e 100644
--- a/Event/ByteStreamCnvSvc/src/components/ByteStreamCnvSvc_entries.cxx
+++ b/Event/ByteStreamCnvSvc/src/components/ByteStreamCnvSvc_entries.cxx
@@ -12,16 +12,16 @@
 #include "../ByteStreamAttListMetadataSvc.h"
 
 DECLARE_CONVERTER_FACTORY( EventInfoByteStreamCnv )
-DECLARE_SERVICE_FACTORY( ByteStreamCnvSvc )
-DECLARE_SERVICE_FACTORY( EventSelectorByteStream )
-DECLARE_SERVICE_FACTORY( ByteStreamMergeOutputSvc )
-DECLARE_SERVICE_FACTORY( ByteStreamRDP_OutputSvc )
-DECLARE_SERVICE_FACTORY( ByteStreamEventStorageInputSvc )
-DECLARE_SERVICE_FACTORY( ByteStreamEventStorageOutputSvc )
-DECLARE_SERVICE_FACTORY( ByteStreamSingleEventInputSvc )
-DECLARE_SERVICE_FACTORY( ByteStreamNavigationProviderSvc )
-DECLARE_SERVICE_FACTORY( ByteStreamAttListMetadataSvc )
+DECLARE_COMPONENT( ByteStreamCnvSvc )
+DECLARE_COMPONENT( EventSelectorByteStream )
+DECLARE_COMPONENT( ByteStreamMergeOutputSvc )
+DECLARE_COMPONENT( ByteStreamRDP_OutputSvc )
+DECLARE_COMPONENT( ByteStreamEventStorageInputSvc )
+DECLARE_COMPONENT( ByteStreamEventStorageOutputSvc )
+DECLARE_COMPONENT( ByteStreamSingleEventInputSvc )
+DECLARE_COMPONENT( ByteStreamNavigationProviderSvc )
+DECLARE_COMPONENT( ByteStreamAttListMetadataSvc )
 
-DECLARE_TOOL_FACTORY( ByteStreamOutputStreamCopyTool )
-DECLARE_TOOL_FACTORY( ByteStreamMetadataTool )
+DECLARE_COMPONENT( ByteStreamOutputStreamCopyTool )
+DECLARE_COMPONENT( ByteStreamMetadataTool )
 
diff --git a/Event/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase.h b/Event/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase.h
index 9663b8123519010721d21f89a9a25230afbd6867..d296bb4f1f94d805de25df519fb43a4951f501b2 100755
--- a/Event/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase.h
+++ b/Event/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase.h
@@ -10,8 +10,6 @@
 #include "ByteStreamCnvSvcBase/IByteStreamEventAccess.h"
 #include "ByteStreamData/RawEvent.h"
 
-template <class TYPE> class SvcFactory;
-
 /**
   @class ByteStreamCnvSvcBase
   @brief base class for ByteStream conversion service.
@@ -23,10 +21,13 @@ template <class TYPE> class SvcFactory;
 class ByteStreamCnvSvcBase : public ::AthCnvSvc,
 		public virtual IIncidentListener,
 		public virtual IByteStreamEventAccess {
-   // Allow the factory class access to the constructor
-   friend class SvcFactory<ByteStreamCnvSvcBase>;
 
 public:
+   /// Standard Service Constructor
+   ByteStreamCnvSvcBase(const std::string& name, ISvcLocator* pSvcLocator);
+   /// Destructor
+
+   virtual ~ByteStreamCnvSvcBase();
    /// Required of all Gaudi Services
    StatusCode initialize();
 
@@ -42,12 +43,6 @@ public:
    /// Implementation of IIncidentListener: Handle for EndEvent incidence
    virtual void handle(const Incident&);
 
-protected: // constructor and destructor
-   /// Standard Service Constructor
-   ByteStreamCnvSvcBase(const std::string& name, ISvcLocator* pSvcLocator);
-   /// Destructor
-   virtual ~ByteStreamCnvSvcBase();
-
 protected: // data
    RawEventWrite* m_rawEventWrite;
 
diff --git a/Event/ByteStreamCnvSvcBase/src/components/ByteStreamCnvSvcBase_entries.cxx b/Event/ByteStreamCnvSvcBase/src/components/ByteStreamCnvSvcBase_entries.cxx
index 693fa21dc674cab1b5bc3ab594321ef95b64bb1b..8b192cf1d8166d23e6a9e5c46f6e42fefa292975 100644
--- a/Event/ByteStreamCnvSvcBase/src/components/ByteStreamCnvSvcBase_entries.cxx
+++ b/Event/ByteStreamCnvSvcBase/src/components/ByteStreamCnvSvcBase_entries.cxx
@@ -2,7 +2,7 @@
 #include "ByteStreamCnvSvcBase/ByteStreamAddressProviderSvc.h"
 #include "ByteStreamCnvSvcBase/ROBDataProviderSvc.h"
 
-DECLARE_SERVICE_FACTORY( ByteStreamCnvSvcBase )
-DECLARE_SERVICE_FACTORY( ByteStreamAddressProviderSvc )
-DECLARE_SERVICE_FACTORY( ROBDataProviderSvc )
+DECLARE_COMPONENT( ByteStreamCnvSvcBase )
+DECLARE_COMPONENT( ByteStreamAddressProviderSvc )
+DECLARE_COMPONENT( ROBDataProviderSvc )
 
diff --git a/Event/ByteStreamTest/src/components/ByteStreamTest_entries.cxx b/Event/ByteStreamTest/src/components/ByteStreamTest_entries.cxx
index 7abc547ccf2412cd1167ebd5b0b6240285c5f3ca..15569ea23d0abd1974a4187210bf38539549af10 100644
--- a/Event/ByteStreamTest/src/components/ByteStreamTest_entries.cxx
+++ b/Event/ByteStreamTest/src/components/ByteStreamTest_entries.cxx
@@ -1,4 +1,4 @@
 #include "../EvenEventsSelectorTool.h"
 
-DECLARE_TOOL_FACTORY(EvenEventsSelectorTool)
+DECLARE_COMPONENT( EvenEventsSelectorTool )
 
diff --git a/Event/DFStreamEventSelector/src/components/DFStreamEventSelector_entries.cxx b/Event/DFStreamEventSelector/src/components/DFStreamEventSelector_entries.cxx
index 6ada1819d7efcd99d5ed6493ceb9cc57fa61687e..19c657fa9aac6b5221ba8adc11d2c69502be8a79 100644
--- a/Event/DFStreamEventSelector/src/components/DFStreamEventSelector_entries.cxx
+++ b/Event/DFStreamEventSelector/src/components/DFStreamEventSelector_entries.cxx
@@ -1,4 +1,4 @@
 #include "../DFStreamEventSelector.h"
 
-DECLARE_SERVICE_FACTORY( DFStreamEventSelector )
+DECLARE_COMPONENT( DFStreamEventSelector )
 
diff --git a/Event/EventBookkeeperTools/src/components/EventBookkeeperTools_entries.cxx b/Event/EventBookkeeperTools/src/components/EventBookkeeperTools_entries.cxx
index c0ef5b448efabd2ffb926f10d316b516a83f46e1..0dcc53404fa0c3bd7df1b373277f386f9870f360 100644
--- a/Event/EventBookkeeperTools/src/components/EventBookkeeperTools_entries.cxx
+++ b/Event/EventBookkeeperTools/src/components/EventBookkeeperTools_entries.cxx
@@ -5,10 +5,10 @@
 #include "EventBookkeeperTools/BookkeeperTool.h"
 #include "../EventCounterAlg.h"
 
-DECLARE_ALGORITHM_FACTORY( myCppFilterTest )
-DECLARE_ALGORITHM_FACTORY( SkimDecisionMultiFilter )
-DECLARE_ALGORITHM_FACTORY( EventCounterAlg )
-DECLARE_TOOL_FACTORY( BookkeeperTool )
-DECLARE_SERVICE_FACTORY( CutFlowSvc )
-DECLARE_SERVICE_FACTORY( FileCutFlowSvc )
+DECLARE_COMPONENT( myCppFilterTest )
+DECLARE_COMPONENT( SkimDecisionMultiFilter )
+DECLARE_COMPONENT( EventCounterAlg )
+DECLARE_COMPONENT( BookkeeperTool )
+DECLARE_COMPONENT( CutFlowSvc )
+DECLARE_COMPONENT( FileCutFlowSvc )
 
diff --git a/Event/EventCommonAlgs/src/components/EventCommonAlgs_entries.cxx b/Event/EventCommonAlgs/src/components/EventCommonAlgs_entries.cxx
index 021f75c52205af134656d1df053467a77a1b3c27..fa183bcee62f27ae8f79a334b6e23f83a4c43ebd 100644
--- a/Event/EventCommonAlgs/src/components/EventCommonAlgs_entries.cxx
+++ b/Event/EventCommonAlgs/src/components/EventCommonAlgs_entries.cxx
@@ -3,7 +3,7 @@
 //#include "../INav4MomSymLinkBuilder.h"
 
   
-DECLARE_ALGORITHM_FACTORY( I4MomDumper  )
-DECLARE_ALGORITHM_FACTORY( INav4MomDumper  )
-//DECLARE_ALGORITHM_FACTORY( INav4MomSymLinkBuilder  )
+DECLARE_COMPONENT( I4MomDumper )
+DECLARE_COMPONENT( INav4MomDumper )
+//DECLARE_COMPONENT( INav4MomSymLinkBuilder )
 
diff --git a/Event/EventInfoMgt/src/EventInfoMgt_entries.cxx b/Event/EventInfoMgt/src/EventInfoMgt_entries.cxx
index d599e835296aaa209e326263d13c158feb6c700c..e05a3b5f0bc633b6c5b061180c9252b58c14c4bd 100644
--- a/Event/EventInfoMgt/src/EventInfoMgt_entries.cxx
+++ b/Event/EventInfoMgt/src/EventInfoMgt_entries.cxx
@@ -1,4 +1,4 @@
 #include "TagInfoMgr.h"
 
-DECLARE_SERVICE_FACTORY(TagInfoMgr)
+DECLARE_COMPONENT( TagInfoMgr )
 
diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx
index 420fe5f4d1b86389e28322d20696fff2f9788810..d4146f87e93680bb86af2cf6eac6e6dafc9064d1 100644
--- a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx
+++ b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx
@@ -11,17 +11,17 @@
 #include "../DeepCopyObjects.h"
 #include "../RemoveTempBkgObjects.h"
 
-DECLARE_ALGORITHM_FACTORY( CopyMcEventCollection )
-DECLARE_ALGORITHM_FACTORY( CopyObjects )
-DECLARE_ALGORITHM_FACTORY( CopyTimings )
-DECLARE_ALGORITHM_FACTORY( CopyTruthInfo )
-DECLARE_ALGORITHM_FACTORY( SaveInDetObjects )
-DECLARE_ALGORITHM_FACTORY( RemoveObjects )
-DECLARE_ALGORITHM_FACTORY( UpdateEventInfo )
-DECLARE_ALGORITHM_FACTORY( BSFilter )
-DECLARE_ALGORITHM_FACTORY( G4HitMerger )
-DECLARE_ALGORITHM_FACTORY( DeepCopyObjects )
-DECLARE_ALGORITHM_FACTORY( RemoveTempBkgObjects )
+DECLARE_COMPONENT( CopyMcEventCollection )
+DECLARE_COMPONENT( CopyObjects )
+DECLARE_COMPONENT( CopyTimings )
+DECLARE_COMPONENT( CopyTruthInfo )
+DECLARE_COMPONENT( SaveInDetObjects )
+DECLARE_COMPONENT( RemoveObjects )
+DECLARE_COMPONENT( UpdateEventInfo )
+DECLARE_COMPONENT( BSFilter )
+DECLARE_COMPONENT( G4HitMerger )
+DECLARE_COMPONENT( DeepCopyObjects )
+DECLARE_COMPONENT( RemoveTempBkgObjects )
 
-DECLARE_TOOL_FACTORY( ByteStreamMultipleOutputStreamCopyTool )
+DECLARE_COMPONENT( ByteStreamMultipleOutputStreamCopyTool )
 
diff --git a/Event/EventOverlay/OverlayExamples/src/components/OverlayExamples_entries.cxx b/Event/EventOverlay/OverlayExamples/src/components/OverlayExamples_entries.cxx
index c5a437565a8a921b7174cad7f46929ae9f6b564c..38f9236e2bd334a14f155bbce3f51187f112073d 100644
--- a/Event/EventOverlay/OverlayExamples/src/components/OverlayExamples_entries.cxx
+++ b/Event/EventOverlay/OverlayExamples/src/components/OverlayExamples_entries.cxx
@@ -1,5 +1,5 @@
 #include "../HitRdoOverlayExample.h"
 
 
-DECLARE_ALGORITHM_FACTORY( HitRdoOverlayExample )
+DECLARE_COMPONENT( HitRdoOverlayExample )
 
diff --git a/Event/xAOD/xAODBTaggingCnv/src/components/xAODBTaggingCnv_entries.cxx b/Event/xAOD/xAODBTaggingCnv/src/components/xAODBTaggingCnv_entries.cxx
index 0a6f57d03dfa230cb1c126a56ea812397b61835a..4d599c187897d7e8636da5af24d59da40d079b39 100644
--- a/Event/xAOD/xAODBTaggingCnv/src/components/xAODBTaggingCnv_entries.cxx
+++ b/Event/xAOD/xAODBTaggingCnv/src/components/xAODBTaggingCnv_entries.cxx
@@ -3,9 +3,9 @@
 #include "../TrigBjetCnvAlg.h"
 #include "../TrigBjetCnvTool.h"
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, BTaggingCnvAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODReader, BTaggingReader )
+DECLARE_COMPONENT( xAODMaker::BTaggingCnvAlg )
+DECLARE_COMPONENT( xAODReader::BTaggingReader )
 	
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigBjetCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigBjetCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigBjetCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TrigBjetCnvTool )
 
diff --git a/Event/xAOD/xAODCaloEventCnv/src/components/xAODCaloEventCnv_entries.cxx b/Event/xAOD/xAODCaloEventCnv/src/components/xAODCaloEventCnv_entries.cxx
index e22696f864591f91a8a044d70e21cc95f6d0e33e..2582a7abf0695e881cf9c4dc879f924c9ea0a307 100644
--- a/Event/xAOD/xAODCaloEventCnv/src/components/xAODCaloEventCnv_entries.cxx
+++ b/Event/xAOD/xAODCaloEventCnv/src/components/xAODCaloEventCnv_entries.cxx
@@ -2,7 +2,7 @@
 #include "../ClusterDumper.h"
 #include "../CaloClusterCnvTool.h"
 
-DECLARE_ALGORITHM_FACTORY( ClusterCreator )
-DECLARE_ALGORITHM_FACTORY( ClusterDumper )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, CaloClusterCnvTool )
+DECLARE_COMPONENT( ClusterCreator )
+DECLARE_COMPONENT( ClusterDumper )
+DECLARE_COMPONENT( xAODMaker::CaloClusterCnvTool )
 
diff --git a/Event/xAOD/xAODCoreCnv/src/components/xAODCoreCnv_entries.cxx b/Event/xAOD/xAODCoreCnv/src/components/xAODCoreCnv_entries.cxx
index 151bee9801dd0f7cd4a039f7a718604be2c9fc16..372f2e6a2a9c9c37d27401ed7bfeca55810958ae 100644
--- a/Event/xAOD/xAODCoreCnv/src/components/xAODCoreCnv_entries.cxx
+++ b/Event/xAOD/xAODCoreCnv/src/components/xAODCoreCnv_entries.cxx
@@ -1,6 +1,6 @@
 #include "../AuxStoreWrapper.h"
 #include "../ElementLinkResetAlg.h"
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, AuxStoreWrapper )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, ElementLinkResetAlg )
+DECLARE_COMPONENT( xAODMaker::AuxStoreWrapper )
+DECLARE_COMPONENT( xAODMaker::ElementLinkResetAlg )
 
diff --git a/Event/xAOD/xAODEgammaCnv/src/components/xAODEgammaCnv_entries.cxx b/Event/xAOD/xAODEgammaCnv/src/components/xAODEgammaCnv_entries.cxx
index ab8b6369c58792c55680184af900404e3d90ebd7..d98a972f7a3ab0e17f61043bf4ab0c761ce7d616 100644
--- a/Event/xAOD/xAODEgammaCnv/src/components/xAODEgammaCnv_entries.cxx
+++ b/Event/xAOD/xAODEgammaCnv/src/components/xAODEgammaCnv_entries.cxx
@@ -6,10 +6,10 @@
 #include "../ElectronReader.h"
 
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, ElectronCnvAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, PhotonCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, ElectronCnvTool )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, PhotonCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, GSFTrackParticleMapCnvAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODReader, ElectronReader )
+DECLARE_COMPONENT( xAODMaker::ElectronCnvAlg )
+DECLARE_COMPONENT( xAODMaker::PhotonCnvAlg )
+DECLARE_COMPONENT( xAODMaker::ElectronCnvTool )
+DECLARE_COMPONENT( xAODMaker::PhotonCnvTool )
+DECLARE_COMPONENT( xAODMaker::GSFTrackParticleMapCnvAlg )
+DECLARE_COMPONENT( xAODReader::ElectronReader )
 
diff --git a/Event/xAOD/xAODEventFormatCnv/src/components/xAODEventFormatCnv_entries.cxx b/Event/xAOD/xAODEventFormatCnv/src/components/xAODEventFormatCnv_entries.cxx
index f24499a890973c215f515e1cbf38116cf49ed426..448d539f503996de17cb6572781076036b62129f 100644
--- a/Event/xAOD/xAODEventFormatCnv/src/components/xAODEventFormatCnv_entries.cxx
+++ b/Event/xAOD/xAODEventFormatCnv/src/components/xAODEventFormatCnv_entries.cxx
@@ -1,6 +1,6 @@
 #include "../EventFormatSvc.h"
 #include "../EventFormatMetaDataTool.h"
 
-DECLARE_NAMESPACE_SERVICE_FACTORY( xAODMaker, EventFormatSvc )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, EventFormatMetaDataTool )
+DECLARE_COMPONENT( xAODMaker::EventFormatSvc )
+DECLARE_COMPONENT( xAODMaker::EventFormatMetaDataTool )
 
diff --git a/Event/xAOD/xAODEventInfoCnv/src/components/xAODEventInfoCnv_entries.cxx b/Event/xAOD/xAODEventInfoCnv/src/components/xAODEventInfoCnv_entries.cxx
index bfbb8d230fefcb0b729b8a3befce8bc8246d60df..81ca401512284e7fa2bf993846022fb6afb0b7fd 100644
--- a/Event/xAOD/xAODEventInfoCnv/src/components/xAODEventInfoCnv_entries.cxx
+++ b/Event/xAOD/xAODEventInfoCnv/src/components/xAODEventInfoCnv_entries.cxx
@@ -6,11 +6,11 @@
 
 #include "../EventInfoMCWeightFixAlg.h"
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, EventInfoCnvTool )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, EventInfoSelectorTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, EventInfoCnvAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODReader, EventInfoReaderAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODReader, EventDuplicateFinderAlg )
+DECLARE_COMPONENT( xAODMaker::EventInfoCnvTool )
+DECLARE_COMPONENT( xAODMaker::EventInfoSelectorTool )
+DECLARE_COMPONENT( xAODMaker::EventInfoCnvAlg )
+DECLARE_COMPONENT( xAODReader::EventInfoReaderAlg )
+DECLARE_COMPONENT( xAODReader::EventDuplicateFinderAlg )
 
-DECLARE_ALGORITHM_FACTORY( EventInfoMCWeightFixAlg )
+DECLARE_COMPONENT( EventInfoMCWeightFixAlg )
 
diff --git a/Event/xAOD/xAODForwardCnv/src/components/xAODForwardCnv_entries.cxx b/Event/xAOD/xAODForwardCnv/src/components/xAODForwardCnv_entries.cxx
index 0c97eb28323b37bf950985d49f34793ff4c54f28..374ec52e97dc1b0dbc637aebced2c78fa036a87a 100644
--- a/Event/xAOD/xAODForwardCnv/src/components/xAODForwardCnv_entries.cxx
+++ b/Event/xAOD/xAODForwardCnv/src/components/xAODForwardCnv_entries.cxx
@@ -3,9 +3,9 @@
 #include "../ForwardEventInfoCnvAlg.h"
 #include "../ForwardEventInfoCnvTool.h"
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, MBTSModuleCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, MBTSModuleCnvTool )
+DECLARE_COMPONENT( xAODMaker::MBTSModuleCnvAlg )
+DECLARE_COMPONENT( xAODMaker::MBTSModuleCnvTool )
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, ForwardEventInfoCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, ForwardEventInfoCnvTool )
+DECLARE_COMPONENT( xAODMaker::ForwardEventInfoCnvAlg )
+DECLARE_COMPONENT( xAODMaker::ForwardEventInfoCnvTool )
 
diff --git a/Event/xAOD/xAODJetCnv/src/components/xAODJetCnv_entries.cxx b/Event/xAOD/xAODJetCnv/src/components/xAODJetCnv_entries.cxx
index 379b772e080dc74d95c94f5529dc045b6787c928..ea290b58398b2bcbb3ef7e9079bb55c44e9b32ee 100644
--- a/Event/xAOD/xAODJetCnv/src/components/xAODJetCnv_entries.cxx
+++ b/Event/xAOD/xAODJetCnv/src/components/xAODJetCnv_entries.cxx
@@ -2,8 +2,8 @@
 #include "../JetCnvTool.h"
 #include "../JetGlobalEventSetup.h"
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, JetCnvAlg ) 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, JetCnvTool ) 
+DECLARE_COMPONENT( xAODMaker::JetCnvAlg ) 
+DECLARE_COMPONENT( xAODMaker::JetCnvTool ) 
 
-DECLARE_ALGORITHM_FACTORY(  JetGlobalEventSetup ) 
+DECLARE_COMPONENT( JetGlobalEventSetup ) 
 
diff --git a/Event/xAOD/xAODMetaDataCnv/src/components/xAODMetaDataCnv_entries.cxx b/Event/xAOD/xAODMetaDataCnv/src/components/xAODMetaDataCnv_entries.cxx
index 88ab72df7d769628686c0d04f83e82d08c3fbdaa..a9105447920089adb1c80a953ed392e628600b8b 100644
--- a/Event/xAOD/xAODMetaDataCnv/src/components/xAODMetaDataCnv_entries.cxx
+++ b/Event/xAOD/xAODMetaDataCnv/src/components/xAODMetaDataCnv_entries.cxx
@@ -1,6 +1,6 @@
 #include "xAODMetaDataCnv/FileMetaDataTool.h"
 #include "../FileMetaDataCreatorTool.h"
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, FileMetaDataTool )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, FileMetaDataCreatorTool )
+DECLARE_COMPONENT( xAODMaker::FileMetaDataTool )
+DECLARE_COMPONENT( xAODMaker::FileMetaDataCreatorTool )
 
diff --git a/Event/xAOD/xAODMissingETCnv/src/components/xAODMissingETCnv_entries.cxx b/Event/xAOD/xAODMissingETCnv/src/components/xAODMissingETCnv_entries.cxx
index c737b9f568458a8e7aa1798c550d250138a77551..9b2779bae0c206cb7b2b17e08ebea034d4f4ae0f 100644
--- a/Event/xAOD/xAODMissingETCnv/src/components/xAODMissingETCnv_entries.cxx
+++ b/Event/xAOD/xAODMissingETCnv/src/components/xAODMissingETCnv_entries.cxx
@@ -1,6 +1,6 @@
 #include "../MissingETCnvTool.h"
 #include "../MissingETCnvAlg.h"
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, MissingETCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, MissingETCnvAlg )
+DECLARE_COMPONENT( xAODMaker::MissingETCnvTool )
+DECLARE_COMPONENT( xAODMaker::MissingETCnvAlg )
 
diff --git a/Event/xAOD/xAODMuonCnv/src/components/xAODMuonCnv_entries.cxx b/Event/xAOD/xAODMuonCnv/src/components/xAODMuonCnv_entries.cxx
index e1e40f8b57a52324cb5da9456467e71f5d764185..6f44d39cf49e65a6af6169949af729905d5f8a21 100644
--- a/Event/xAOD/xAODMuonCnv/src/components/xAODMuonCnv_entries.cxx
+++ b/Event/xAOD/xAODMuonCnv/src/components/xAODMuonCnv_entries.cxx
@@ -2,7 +2,7 @@
 #include "../MuonSegmentCnvAlg.h"
 #include "../MuonAODFixAlg.h"
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, MuonCnvAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, MuonSegmentCnvAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAOD, MuonAODFixAlg )
+DECLARE_COMPONENT( xAODMaker::MuonCnvAlg )
+DECLARE_COMPONENT( xAODMaker::MuonSegmentCnvAlg )
+DECLARE_COMPONENT( xAOD::MuonAODFixAlg )
 
diff --git a/Event/xAOD/xAODTauCnv/src/components/xAODTauJetCnv_entries.cxx b/Event/xAOD/xAODTauCnv/src/components/xAODTauJetCnv_entries.cxx
index 8dd65b376f689f8948deeb2cfeef544128a3e8f8..f790138d900dc6af1e10912f80f47065dbbf94c6 100644
--- a/Event/xAOD/xAODTauCnv/src/components/xAODTauJetCnv_entries.cxx
+++ b/Event/xAOD/xAODTauCnv/src/components/xAODTauJetCnv_entries.cxx
@@ -3,7 +3,7 @@
 #include "../TauJetReaderAlg.h"
 
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TauJetCnvAlg ) 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TauJetCnvTool ) 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TauJetReaderAlg )
+DECLARE_COMPONENT( xAODMaker::TauJetCnvAlg ) 
+DECLARE_COMPONENT( xAODMaker::TauJetCnvTool ) 
+DECLARE_COMPONENT( xAODMaker::TauJetReaderAlg )
 
diff --git a/Event/xAOD/xAODTrackingCnv/src/components/xAODTrackingCnv_entries.cxx b/Event/xAOD/xAODTrackingCnv/src/components/xAODTrackingCnv_entries.cxx
index 3d3f52a1f0cfbf4947a69219ba063d6b409ea30f..2e08c663b6c39cfee89cb0ddc5600f19508fd287 100644
--- a/Event/xAOD/xAODTrackingCnv/src/components/xAODTrackingCnv_entries.cxx
+++ b/Event/xAOD/xAODTrackingCnv/src/components/xAODTrackingCnv_entries.cxx
@@ -4,9 +4,9 @@
 #include "../VertexCnvAlg.h"
 #include "../TrackParticleCompressorTool.h"
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, RecTrackParticleContainerCnvTool )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrackCollectionCnvTool )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrackParticleCompressorTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrackParticleCnvAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, VertexCnvAlg )
+DECLARE_COMPONENT( xAODMaker::RecTrackParticleContainerCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrackCollectionCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrackParticleCompressorTool )
+DECLARE_COMPONENT( xAODMaker::TrackParticleCnvAlg )
+DECLARE_COMPONENT( xAODMaker::VertexCnvAlg )
 
diff --git a/Event/xAOD/xAODTrigBphysCnv/src/components/xAODTrigBphysCnv_entries.cxx b/Event/xAOD/xAODTrigBphysCnv/src/components/xAODTrigBphysCnv_entries.cxx
index fe3a5f9c7d5771e43a88df7b021b60e2ee2610d8..ee3931038fdb0b2ebfd592385a753d48adf6ee39 100644
--- a/Event/xAOD/xAODTrigBphysCnv/src/components/xAODTrigBphysCnv_entries.cxx
+++ b/Event/xAOD/xAODTrigBphysCnv/src/components/xAODTrigBphysCnv_entries.cxx
@@ -7,13 +7,13 @@
 #include "../TrigEFBphysCnvAlg.h"
 #include "../TrigxAODBphysReaderAlg.h"
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigL2BphysCnvTool )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker,  TrigL2BphysContainerCnvTool)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigL2BphysCnvAlg)
+DECLARE_COMPONENT( xAODMaker::TrigL2BphysCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigL2BphysContainerCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigL2BphysCnvAlg )
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker,  TrigEFBphysCnvTool)
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker,  TrigEFBphysContainerCnvTool)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigEFBphysCnvAlg)
+DECLARE_COMPONENT( xAODMaker::TrigEFBphysCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigEFBphysContainerCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigEFBphysCnvAlg )
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigxAODBphysReaderAlg)
+DECLARE_COMPONENT( xAODMaker::TrigxAODBphysReaderAlg )
 
diff --git a/Event/xAOD/xAODTrigCaloCnv/src/components/xAODTrigCaloCnv_entries.cxx b/Event/xAOD/xAODTrigCaloCnv/src/components/xAODTrigCaloCnv_entries.cxx
index 58bc6643c25036eae4da729703834593e37d10d7..1a947e0926253989b647621d262ad567acb2c210 100644
--- a/Event/xAOD/xAODTrigCaloCnv/src/components/xAODTrigCaloCnv_entries.cxx
+++ b/Event/xAOD/xAODTrigCaloCnv/src/components/xAODTrigCaloCnv_entries.cxx
@@ -3,8 +3,8 @@
 #include "../TrigEMClusterCnvTool.h"
 #include "../TrigEMClusterCnvAlg.h"
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigCaloClusterCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigCaloClusterCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigEMClusterCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigEMClusterCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TrigCaloClusterCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigCaloClusterCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TrigEMClusterCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigEMClusterCnvAlg )
 
diff --git a/Event/xAOD/xAODTrigL1CaloCnv/src/components/xAODTrigL1CaloCnv_entries.cxx b/Event/xAOD/xAODTrigL1CaloCnv/src/components/xAODTrigL1CaloCnv_entries.cxx
index 63c635bb915ac2b1895542e9377caf658e86b952..2bea2387846c2efd42f685a3a48fecffa1251c01 100644
--- a/Event/xAOD/xAODTrigL1CaloCnv/src/components/xAODTrigL1CaloCnv_entries.cxx
+++ b/Event/xAOD/xAODTrigL1CaloCnv/src/components/xAODTrigL1CaloCnv_entries.cxx
@@ -28,33 +28,33 @@
 #include "../TriggerTowerCnvTool.h"
 #include "../TriggerTowerCnvAlg.h"
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, CMMCPHitsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, CMMCPHitsCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, CMMEtSumsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, CMMEtSumsCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, CMMJetHitsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, CMMJetHitsCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, CMMRoICnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, CMMRoICnvAlg )
-
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, CPMHitsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, CPMHitsCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, CPMTowerCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, CPMTowerCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, CPMRoICnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, CPMRoICnvAlg )
-
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, JEMHitsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, JEMHitsCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, JEMEtSumsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, JEMEtSumsCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, JEMRoICnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, JEMRoICnvAlg )
-
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, JetElementCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, JetElementCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, RODHeaderCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, RODHeaderCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TriggerTowerCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TriggerTowerCnvAlg )
+DECLARE_COMPONENT( xAODMaker::CMMCPHitsCnvTool )
+DECLARE_COMPONENT( xAODMaker::CMMCPHitsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::CMMEtSumsCnvTool )
+DECLARE_COMPONENT( xAODMaker::CMMEtSumsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::CMMJetHitsCnvTool )
+DECLARE_COMPONENT( xAODMaker::CMMJetHitsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::CMMRoICnvTool )
+DECLARE_COMPONENT( xAODMaker::CMMRoICnvAlg )
+
+DECLARE_COMPONENT( xAODMaker::CPMHitsCnvTool )
+DECLARE_COMPONENT( xAODMaker::CPMHitsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::CPMTowerCnvTool )
+DECLARE_COMPONENT( xAODMaker::CPMTowerCnvAlg )
+DECLARE_COMPONENT( xAODMaker::CPMRoICnvTool )
+DECLARE_COMPONENT( xAODMaker::CPMRoICnvAlg )
+
+DECLARE_COMPONENT( xAODMaker::JEMHitsCnvTool )
+DECLARE_COMPONENT( xAODMaker::JEMHitsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::JEMEtSumsCnvTool )
+DECLARE_COMPONENT( xAODMaker::JEMEtSumsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::JEMRoICnvTool )
+DECLARE_COMPONENT( xAODMaker::JEMRoICnvAlg )
+
+DECLARE_COMPONENT( xAODMaker::JetElementCnvTool )
+DECLARE_COMPONENT( xAODMaker::JetElementCnvAlg )
+DECLARE_COMPONENT( xAODMaker::RODHeaderCnvTool )
+DECLARE_COMPONENT( xAODMaker::RODHeaderCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TriggerTowerCnvTool )
+DECLARE_COMPONENT( xAODMaker::TriggerTowerCnvAlg )
 
diff --git a/Event/xAOD/xAODTrigMinBiasCnv/src/components/xAODTrigMinBiasCnv_entries.cxx b/Event/xAOD/xAODTrigMinBiasCnv/src/components/xAODTrigMinBiasCnv_entries.cxx
index f0238d35c3e9c5aec66f1af0e2abff323f6b9651..ccee1261813c1306870108da3c8f6a179bcdc949 100644
--- a/Event/xAOD/xAODTrigMinBiasCnv/src/components/xAODTrigMinBiasCnv_entries.cxx
+++ b/Event/xAOD/xAODTrigMinBiasCnv/src/components/xAODTrigMinBiasCnv_entries.cxx
@@ -16,16 +16,16 @@
 #include "../TrigT2ZdcSignalsCnvTool.h"
 #include "../TrigT2ZdcSignalsCnvAlg.h"
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigSpacePointCountsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigSpacePointCountsCnvAlg )
-// DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigHisto2DCnvTool )
-// DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigHisto2DCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigT2MbtsBitsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigT2MbtsBitsCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigTrackCountsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigTrackCountsCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigVertexCountsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigVertexCountsCnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigT2ZdcSignalsCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigT2ZdcSignalsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TrigSpacePointCountsCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigSpacePointCountsCnvAlg )
+// DECLARE_COMPONENT( xAODMaker::TrigHisto2DCnvTool )
+// DECLARE_COMPONENT( xAODMaker::TrigHisto2DCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TrigT2MbtsBitsCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigT2MbtsBitsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TrigTrackCountsCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigTrackCountsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TrigVertexCountsCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigVertexCountsCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TrigT2ZdcSignalsCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigT2ZdcSignalsCnvAlg )
 
diff --git a/Event/xAOD/xAODTrigMissingETCnv/src/components/xAODTrigMissingETCnv_entries.cxx b/Event/xAOD/xAODTrigMissingETCnv/src/components/xAODTrigMissingETCnv_entries.cxx
index 7363631f0ac0fc2cc45991d33920c0cd76266887..26250a9ccd69116bb8c50d9a2108b371b3d7623c 100644
--- a/Event/xAOD/xAODTrigMissingETCnv/src/components/xAODTrigMissingETCnv_entries.cxx
+++ b/Event/xAOD/xAODTrigMissingETCnv/src/components/xAODTrigMissingETCnv_entries.cxx
@@ -1,6 +1,6 @@
 #include "../TrigMissingETCnvTool.h"
 #include "../TrigMissingETCnvAlg.h"
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigMissingETCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigMissingETCnvAlg )
+DECLARE_COMPONENT( xAODMaker::TrigMissingETCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigMissingETCnvAlg )
 
diff --git a/Event/xAOD/xAODTrigMuonCnv/src/components/xAODEFMuonCnv_entries.cxx b/Event/xAOD/xAODTrigMuonCnv/src/components/xAODEFMuonCnv_entries.cxx
index 8d2cfeb6885006442f67c76365536edbbe8a46be..49e168f736947c010828d26322809edda6b9a857 100644
--- a/Event/xAOD/xAODTrigMuonCnv/src/components/xAODEFMuonCnv_entries.cxx
+++ b/Event/xAOD/xAODTrigMuonCnv/src/components/xAODEFMuonCnv_entries.cxx
@@ -13,19 +13,19 @@
 #include "../MuonFeatureCnvTool.h"
 #include "../MuonFeatureCnvTestAlg.h"
 
-DECLARE_TOOL_FACTORY(TrigMuonEFInfoToMuonCnvTool)
-DECLARE_ALGORITHM_FACTORY(TrigMuonEFInfoCnvTestAlg)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(xAODMaker, TrigMuonEFInfoToMuonCnvAlg)
+DECLARE_COMPONENT( TrigMuonEFInfoToMuonCnvTool )
+DECLARE_COMPONENT( TrigMuonEFInfoCnvTestAlg )
+DECLARE_COMPONENT( xAODMaker::TrigMuonEFInfoToMuonCnvAlg )
 
-DECLARE_NAMESPACE_TOOL_FACTORY(xAODMaker, IsoMuonFeatureCnvTool)
-DECLARE_NAMESPACE_TOOL_FACTORY(xAODMaker, IsoMuonFeatureContainerCnvTool)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(xAODMaker, IsoMuonFeatureCnvAlg)
+DECLARE_COMPONENT( xAODMaker::IsoMuonFeatureCnvTool )
+DECLARE_COMPONENT( xAODMaker::IsoMuonFeatureContainerCnvTool )
+DECLARE_COMPONENT( xAODMaker::IsoMuonFeatureCnvAlg )
 
-DECLARE_NAMESPACE_TOOL_FACTORY(xAODMaker, CombinedMuonFeatureCnvTool)
-DECLARE_NAMESPACE_TOOL_FACTORY(xAODMaker, CombinedMuonFeatureContainerCnvTool)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(xAODMaker, CombinedMuonFeatureCnvAlg)
+DECLARE_COMPONENT( xAODMaker::CombinedMuonFeatureCnvTool )
+DECLARE_COMPONENT( xAODMaker::CombinedMuonFeatureContainerCnvTool )
+DECLARE_COMPONENT( xAODMaker::CombinedMuonFeatureCnvAlg )
 
-DECLARE_TOOL_FACTORY(MuonFeatureCnvTool)
-DECLARE_NAMESPACE_ALGORITHM_FACTORY(xAODMaker, MuonFeatureCnvAlg)
-DECLARE_ALGORITHM_FACTORY(MuonFeatureCnvTestAlg)
+DECLARE_COMPONENT( MuonFeatureCnvTool )
+DECLARE_COMPONENT( xAODMaker::MuonFeatureCnvAlg )
+DECLARE_COMPONENT( MuonFeatureCnvTestAlg )
 
diff --git a/Event/xAOD/xAODTriggerCnv/src/components/xAODTriggerCnv_entries.cxx b/Event/xAOD/xAODTriggerCnv/src/components/xAODTriggerCnv_entries.cxx
index c0461e89983934967a1752451321c31883da45f0..738061688e56ec50feb87029b622fbf29ace025e 100644
--- a/Event/xAOD/xAODTriggerCnv/src/components/xAODTriggerCnv_entries.cxx
+++ b/Event/xAOD/xAODTriggerCnv/src/components/xAODTriggerCnv_entries.cxx
@@ -24,27 +24,27 @@
 #include "xAODTriggerCnv/TriggerMenuMetaDataTool.h"
 
 #ifndef XAOD_ANALYSIS
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, MuonRoICnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, MuonRoICnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, JetRoICnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, JetRoICnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, EmTauRoICnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, EmTauRoICnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, EnergySumRoICnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, EnergySumRoICnvAlg )
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, JetEtRoICnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, JetEtRoICnvAlg )
-
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigDecisionCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigDecisionCnvAlg )
-
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, BunchConfCnvAlg )
-
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigNavigationCnvTool )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, TrigNavigationCnvAlg )
-
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TrigPassBitsCnvTool )
+DECLARE_COMPONENT( xAODMaker::MuonRoICnvTool )
+DECLARE_COMPONENT( xAODMaker::MuonRoICnvAlg )
+DECLARE_COMPONENT( xAODMaker::JetRoICnvTool )
+DECLARE_COMPONENT( xAODMaker::JetRoICnvAlg )
+DECLARE_COMPONENT( xAODMaker::EmTauRoICnvTool )
+DECLARE_COMPONENT( xAODMaker::EmTauRoICnvAlg )
+DECLARE_COMPONENT( xAODMaker::EnergySumRoICnvTool )
+DECLARE_COMPONENT( xAODMaker::EnergySumRoICnvAlg )
+DECLARE_COMPONENT( xAODMaker::JetEtRoICnvTool )
+DECLARE_COMPONENT( xAODMaker::JetEtRoICnvAlg )
+
+DECLARE_COMPONENT( xAODMaker::TrigDecisionCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigDecisionCnvAlg )
+
+DECLARE_COMPONENT( xAODMaker::BunchConfCnvAlg )
+
+DECLARE_COMPONENT( xAODMaker::TrigNavigationCnvTool )
+DECLARE_COMPONENT( xAODMaker::TrigNavigationCnvAlg )
+
+DECLARE_COMPONENT( xAODMaker::TrigPassBitsCnvTool )
 #endif
 
-DECLARE_NAMESPACE_TOOL_FACTORY( xAODMaker, TriggerMenuMetaDataTool )
+DECLARE_COMPONENT( xAODMaker::TriggerMenuMetaDataTool )
 
diff --git a/Event/xAOD/xAODTruthCnv/src/components/xAODTruthCnv_entries.cxx b/Event/xAOD/xAODTruthCnv/src/components/xAODTruthCnv_entries.cxx
index 75267cb814e554101f031ac6bad23969a3dcb8a6..9de4b88629862375d6b56bac7e2d12d82a72fc95 100644
--- a/Event/xAOD/xAODTruthCnv/src/components/xAODTruthCnv_entries.cxx
+++ b/Event/xAOD/xAODTruthCnv/src/components/xAODTruthCnv_entries.cxx
@@ -2,7 +2,7 @@
 #include "../xAODTruthReader.h"
 #include "../HepMCTruthReader.h"
 
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODMaker, xAODTruthCnvAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( xAODReader, xAODTruthReader )
-DECLARE_ALGORITHM_FACTORY( HepMCTruthReader )
+DECLARE_COMPONENT( xAODMaker::xAODTruthCnvAlg )
+DECLARE_COMPONENT( xAODReader::xAODTruthReader )
+DECLARE_COMPONENT( HepMCTruthReader )