diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmMemoryModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmMemoryModule.h
index 83463e0bfe3ed94b1ae416b6c14cbe8ef03224a3..04e5215120fd811059c498e85a997aa156ed27f1 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmMemoryModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmMemoryModule.h
@@ -36,6 +36,8 @@ namespace EL
 
     public:
 
+      using Module::Module;
+
       virtual StatusCode firstInitialize (ModuleData& data) override;
     };
   }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmStateModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmStateModule.h
index 181f061ea111520cdbb00514bfc4c77f7944aff1..58bc02d1fcfe0d82f1e1ad987839e3a72b221668 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmStateModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmStateModule.h
@@ -40,21 +40,15 @@ namespace EL
       //
 
     public:
-      virtual ::StatusCode onInitialize (ModuleData& data) override;
 
-    public:
-      virtual ::StatusCode onFinalize (ModuleData& data) override;
-
-    public:
-      virtual ::StatusCode onCloseInputFile (ModuleData& data) override;
-
-    public:
-      virtual ::StatusCode onNewInputFile (ModuleData& data) override;
-
-    public:
-      virtual ::StatusCode onFileExecute (ModuleData& data) override;
+      using Module::Module;
 
-      virtual ::StatusCode onExecute (ModuleData& data) override;
+      virtual StatusCode onInitialize (ModuleData& data) override;
+      virtual StatusCode onFinalize (ModuleData& data) override;
+      virtual StatusCode onCloseInputFile (ModuleData& data) override;
+      virtual StatusCode onNewInputFile (ModuleData& data) override;
+      virtual StatusCode onFileExecute (ModuleData& data) override;
+      virtual StatusCode onExecute (ModuleData& data) override;
 
 
 
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmTimerModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmTimerModule.h
index 327ee170f0971a8364619775222a1c65d0070de9..2f0a7445c925970778b6dc4a82d9f1b6c4b107ca 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmTimerModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/AlgorithmTimerModule.h
@@ -31,7 +31,9 @@ namespace EL
 
     public:
 
-      virtual ::StatusCode firstInitialize (ModuleData& data) override;
+      using Module::Module;
+
+      virtual StatusCode firstInitialize (ModuleData& data) override;
     };
   }
 }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/BatchInputModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/BatchInputModule.h
index 6bedf72bc457c294b9105516b741c5dfbf637aaa..b42c3b51cdc98e8a7280a0ab0d0f636264f381b2 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/BatchInputModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/BatchInputModule.h
@@ -28,6 +28,8 @@ namespace EL
 
     public:
 
+      using Module::Module;
+
       BatchSample *sample = nullptr;
       BatchSegment *segment = nullptr;
       std::optional<uint64_t> maxEvents;
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/DirectInputModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/DirectInputModule.h
index ec7a0db361e9b1b942a773316182fa11db4f77b8..920afecaf4fdb52faf5144ff62016003ffa15005 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/DirectInputModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/DirectInputModule.h
@@ -26,6 +26,8 @@ namespace EL
 
     public:
 
+      using Module::Module;
+
       std::vector<std::string> fileList;
       std::optional<uint64_t> skipEvents;
       std::optional<uint64_t> maxEvents;
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/EventCountModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/EventCountModule.h
index b2c05c5d510c6710713d15866b6f86abb9f7aec9..c3b7f3309c8eb54e971791b2c03517d631dbd68a 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/EventCountModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/EventCountModule.h
@@ -27,7 +27,10 @@ namespace EL
       //
 
     public:
-      virtual ::StatusCode postFinalize (ModuleData& data) override;
+
+      using Module::Module;
+
+      virtual StatusCode postFinalize (ModuleData& data) override;
     };
   }
 }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/FactoryPreloadModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/FactoryPreloadModule.h
index 048fb3920a6b432f7f7333fa4f18270078d2b613..13105f48c0f732af49062761f0a728486d87e94b 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/FactoryPreloadModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/FactoryPreloadModule.h
@@ -31,7 +31,7 @@ namespace EL
 
       std::string preloader;
 
-      FactoryPreloadModule (const std::string& val_preloader);
+      using Module::Module;
 
       StatusCode onInitialize (ModuleData& data) override;
     };
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/FileExecutedModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/FileExecutedModule.h
index bb3fa685b31589d3aa706bd47012f4be5ddf767e..2ea3a7bd9d4619ab6eb76a2994d8593b1a559c79 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/FileExecutedModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/FileExecutedModule.h
@@ -30,16 +30,14 @@ namespace EL
       //
 
     public:
-      virtual ~FileExecutedModule () noexcept;
 
-    public:
-      virtual ::StatusCode onInitialize (ModuleData& data) override;
+      using Module::Module;
 
-    public:
-      virtual ::StatusCode onFileExecute (ModuleData& data) override;
+      virtual ~FileExecutedModule () noexcept;
 
-    public:
-      virtual ::StatusCode postFinalize (ModuleData& data) override;
+      virtual StatusCode onInitialize (ModuleData& data) override;
+      virtual StatusCode onFileExecute (ModuleData& data) override;
+      virtual StatusCode postFinalize (ModuleData& data) override;
 
 
 
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/GridReportingModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/GridReportingModule.h
index 62f4b740d029583baf15059d3b7fd86cb03cd458..3431f791eeed35f8e75cb22e4c9877e03e0140a4 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/GridReportingModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/GridReportingModule.h
@@ -31,9 +31,12 @@ namespace EL
       unsigned m_eventsProcessed = 0;
 
     public:
-      virtual ::StatusCode onNewInputFile (ModuleData& data) override;
-      virtual ::StatusCode onExecute (ModuleData& data) override;
-      virtual ::StatusCode postFileClose (ModuleData& data) override;
+
+      using Module::Module;
+
+      virtual StatusCode onNewInputFile (ModuleData& data) override;
+      virtual StatusCode onExecute (ModuleData& data) override;
+      virtual StatusCode postFileClose (ModuleData& data) override;
       virtual void reportInputFailure (ModuleData& data) override;
     };
   }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/LeakCheckModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/LeakCheckModule.h
index cf620b5501d2dfb705b95330910325230c445f97..6f2e9b69e0e9b215f106b55579391e45e5964b4e 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/LeakCheckModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/LeakCheckModule.h
@@ -28,13 +28,12 @@ namespace EL
       //
 
     public:
-      virtual ::StatusCode postFirstEvent (ModuleData& data) override;
 
-    public:
-      virtual ::StatusCode onWorkerEnd (ModuleData& data) override;
+      using Module::Module;
 
-    public:
-      virtual ::StatusCode postFinalize (ModuleData& data) override;
+      virtual StatusCode postFirstEvent (ModuleData& data) override;
+      virtual StatusCode onWorkerEnd (ModuleData& data) override;
+      virtual StatusCode postFinalize (ModuleData& data) override;
 
 
 
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/MemoryMonitorModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/MemoryMonitorModule.h
index 8b9dd9331737c9bba14387503cd8e847dab1fac8..8a13de71fa6550db883e112d8099789dd55c2fbb 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/MemoryMonitorModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/MemoryMonitorModule.h
@@ -32,13 +32,13 @@ namespace EL
     /// test job with this module enabled to ensure it runs and doesn't break
     /// the output.
 
-    class MemoryMonitorModule final : public Module, public asg::AsgMessaging
+    class MemoryMonitorModule final : public Module
     {
       /// Public Members
       /// ==============
     public:
 
-      MemoryMonitorModule (const std::string& name);
+      using Module::Module;
 
       virtual StatusCode firstInitialize (ModuleData& data) override;
       virtual StatusCode onInitialize (ModuleData& data) override;
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/Module.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/Module.h
index 62b0d3ceead28f40bcdb783c256fc999f1d351f4..009f7688779a652a289394c4a00a8bfae5e8490d 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/Module.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/Module.h
@@ -9,81 +9,78 @@
 #ifndef EVENT_LOOP__MODULE_H
 #define EVENT_LOOP__MODULE_H
 
-#include <EventLoop/Global.h>
-
 #include <AsgMessaging/StatusCode.h>
+#include <AsgTools/AsgComponent.h>
+#include <AsgTools/PropertyWrapper.h>
 
 namespace EL
 {
   namespace Detail
   {
     class IInputModuleActions;
+    struct ModuleData;
 
 
-    /// \brief the base class for EventLoop instrumentation module
+    /// @brief the base class for EventLoop instrumentation module
     ///
     /// These are **internal** modules for EventLoop that allow to
-    /// factor out non-core functionalities into separate modules.
-    /// The goal here is a separation of concern, allowing to
-    /// implement these modules to be defined without having to worry
-    /// about the internals of EventLoop, and conversely to allow
-    /// implementing the core functionality of EventLoop without
-    /// having the code interwoven with a lot auxilliary code.
+    /// factor out non-core functionalities into separate modules.  The
+    /// goal here is a separation of concern, allowing to implement
+    /// these modules without having to worry about the internals of
+    /// EventLoop, and conversely to allow implementing the core
+    /// functionality of EventLoop without having the code interwoven
+    /// with a lot auxilliary code.
     ///
-    /// \warn The module interface is not considered stable and it can
+    /// @warn The module interface is not considered stable and it can
     /// change without warning from one release to the next.  This
     /// interface is really meant to be completely internal and users
     /// are not meant to mess with it.
-    ///
-    /// \warn While I currently do not stream modules, the possibility
-    /// is anticipated and all modules ought to be written as if they
-    /// were to be streamed one day.
 
-    class Module
+    class Module : public asg::AsgComponent
     {
-      /// \brief standard (virtual) destructor
+      /// Public/Virtual Members
+      /// ======================
+
     public:
-      virtual ~Module () noexcept = default;
 
+      /// @brief inherited constructors
+      using AsgComponent::AsgComponent;
 
-      /// \brief action at the the very beginning of the worker job
+
+      /// @brief action at the the very beginning of the worker job
       ///
       /// This gets called as early as possible in the worker
       /// initialization.  Essentially all that should happen before
       /// this is to load all the modules.  The main purpose is to
       /// start any benchmarks that are meant to capture the
       /// initialization process as well.
-    public:
-      virtual ::StatusCode firstInitialize (ModuleData& data);
+      virtual StatusCode firstInitialize (ModuleData& data);
 
 
-      /// \brief action before opening the first file in the worker
+      /// @brief action before opening the first file in the worker
       /// job
       ///
       /// This is mostly meant to allow loading the dictionaries
       /// before any files and associated information is loaded.
-    public:
-      virtual ::StatusCode preFileInitialize (ModuleData& data);
+      virtual StatusCode preFileInitialize (ModuleData& data);
 
 
-      /// \brief action just before algorithms are initialized
+      /// @brief action just before algorithms are initialized
       ///
       /// This is typically used for any setup that this module needs
       /// to do.
-    public:
-      virtual ::StatusCode onInitialize (ModuleData& data);
+      virtual StatusCode onInitialize (ModuleData& data);
 
 
-      /// \brief process all input files
+      /// @brief process all input files
       ///
       /// This deviates slightly from the usual pattern for module functions in
       /// that I pass in the possible actions as an argument.  See @ref
       /// IInputModuleActions for details.
-    public:
       virtual StatusCode processInputs (ModuleData& data, IInputModuleActions& actions);
 
 
-      /// \brief action after processing first event
+      /// @brief action after processing first event
       ///
       /// This is mostly meant to set up benchmarks that record
       /// per-event performance.  While a lot of initialization
@@ -91,76 +88,65 @@ namespace EL
       /// initialization that happens on the first event, so when
       /// recording per-event performance the first event is sort of
       /// "special" and may need to be omitted.
-    public:
-      virtual ::StatusCode postFirstEvent (ModuleData& data);
+      virtual StatusCode postFirstEvent (ModuleData& data);
 
 
-      /// \brief actions after opening a new input file
-    public:
-      virtual ::StatusCode onNewInputFile (ModuleData& data);
+      /// @brief actions after opening a new input file
+      virtual StatusCode onNewInputFile (ModuleData& data);
 
 
-      /// \brief actions before closing an input file
-    public:
-      virtual ::StatusCode onCloseInputFile (ModuleData& data);
+      /// @brief actions before closing an input file
+      virtual StatusCode onCloseInputFile (ModuleData& data);
 
 
-      /// \brief actions after `CloseInputFile` is called on the
+      /// @brief actions after `CloseInputFile` is called on the
       /// algorithms
       ///
       /// Right now that is only used to disconnect the `TEvent`
       /// object from the input file.
-    public:
-      virtual ::StatusCode postCloseInputFile (ModuleData& data);
+      virtual StatusCode postCloseInputFile (ModuleData& data);
 
 
-      /// \brief actions just before `fileExecute` is called on
+      /// @brief actions just before `fileExecute` is called on
       /// algorithms
-    public:
-      virtual ::StatusCode onFileExecute (ModuleData& data);
+      virtual StatusCode onFileExecute (ModuleData& data);
 
 
-      /// \brief actions just before `execute` is called on
+      /// @brief actions just before `execute` is called on
       /// algorithms
       ///
       /// For now that is mostly used to point input modules to the
       /// right event
-    public:
-      virtual ::StatusCode onExecute (ModuleData& data);
+      virtual StatusCode onExecute (ModuleData& data);
 
 
-      /// \brief actions just before algorithms are finalized
-    public:
-      virtual ::StatusCode onFinalize (ModuleData& data);
+      /// @brief actions just before algorithms are finalized
+      virtual StatusCode onFinalize (ModuleData& data);
 
 
-      /// \brief actions after algorithms have been finalized
+      /// @brief actions after algorithms have been finalized
       ///
       /// This is usually used to calculate some job summary
       /// information that is to be stored it in the histogram output
       /// file.
-    public:
-      virtual ::StatusCode postFinalize (ModuleData& data);
+      virtual StatusCode postFinalize (ModuleData& data);
 
 
-      /// \brief action at the end of the worker job
+      /// @brief action at the end of the worker job
       ///
       /// This is mostly meant/used to print job summary statements at
       /// the very end of worker job, and actually have them show up
       /// at or at least near the end of any log file.
-    public:
-      virtual ::StatusCode onWorkerEnd (ModuleData& data);
+      virtual StatusCode onWorkerEnd (ModuleData& data);
 
-    /// \brief action at of the worker job
-    ///
-    /// Executed just right before worker exit successfully
-    /// at this stage all outputs have been created 
-    public: 
-      virtual ::StatusCode postFileClose(ModuleData& data);
+      /// @brief action at end of the worker job
+      ///
+      /// Executed just right before worker exit successfully
+      /// at this stage all outputs have been created 
+      virtual StatusCode postFileClose(ModuleData& data);
 
 
-      /// \brief report that we failed to open our input file
-    public:
+      /// @brief report that we failed to open our input file
       virtual void reportInputFailure (ModuleData& data);
     };
   }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/PostClosedOutputsModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/PostClosedOutputsModule.h
index 8ec651d5cad86c753c99b8d0059a88889a74c808..d243cc709e3f49a23c8f5f0569e40210949e9ef7 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/PostClosedOutputsModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/PostClosedOutputsModule.h
@@ -23,8 +23,12 @@ namespace EL
       //
       // public interfacce
       //
+
     public:
-      virtual ::StatusCode postFileClose   (ModuleData& data) override;
+
+      using Module::Module;
+
+      virtual StatusCode postFileClose   (ModuleData& data) override;
     };
   }
 }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StopwatchModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StopwatchModule.h
index 830d87d368410f7d42764cf320b9cb8758bc8794..3cafafb5b1a71e7d4c5e66ed0dc340a4c9e87707 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StopwatchModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StopwatchModule.h
@@ -28,16 +28,13 @@ namespace EL
       //
 
     public:
-      virtual ::StatusCode firstInitialize (ModuleData& data) override;
 
-    public:
-      virtual ::StatusCode onFileExecute (ModuleData& data) override;
-
-    public:
-      virtual ::StatusCode postFinalize (ModuleData& data) override;
+      using Module::Module;
 
-    public:
-      virtual ::StatusCode onWorkerEnd (ModuleData& data) override;
+      virtual StatusCode firstInitialize (ModuleData& data) override;
+      virtual StatusCode onFileExecute (ModuleData& data) override;
+      virtual StatusCode postFinalize (ModuleData& data) override;
+      virtual StatusCode onWorkerEnd (ModuleData& data) override;
 
       //
       // private interface
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/TEventModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/TEventModule.h
index 8756996148bed6d102d867fcd7536d674cf0baba..b84c4366dbf48891efdc711d8da1d453f3f0c1ee 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/TEventModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/TEventModule.h
@@ -34,15 +34,15 @@ namespace EL
       // public interface
       //
 
+    public:
+
       /// effects: standard constructor.
       /// guarantee: no-fail
-    public:
-      TEventModule ();
+      TEventModule (const std::string& name);
 
 
       /// effects: standard destructor.
       /// guarantee: no-fail
-    public:
       ~TEventModule ();
 
 
@@ -52,19 +52,12 @@ namespace EL
       //
 
     public:
-      virtual ::StatusCode onInitialize (ModuleData& data) override;
-
-    public:
-      virtual ::StatusCode postFinalize (ModuleData& data) override;
 
-    public:
-      virtual ::StatusCode onNewInputFile (ModuleData& data) override;
-
-    public:
-      virtual ::StatusCode postCloseInputFile (ModuleData& data) override;
-
-    public:
-      virtual ::StatusCode onExecute (ModuleData& data) override;
+      virtual StatusCode onInitialize (ModuleData& data) override;
+      virtual StatusCode postFinalize (ModuleData& data) override;
+      virtual StatusCode onNewInputFile (ModuleData& data) override;
+      virtual StatusCode postCloseInputFile (ModuleData& data) override;
+      virtual StatusCode onExecute (ModuleData& data) override;
 
 
 
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/TreeCacheModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/TreeCacheModule.h
index 676a872cec9e837223fcd5ab3e14d16f41d75c67..e7d5d6694e7852de6387bb45ddec00923f5df532 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/TreeCacheModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/TreeCacheModule.h
@@ -27,10 +27,11 @@ namespace EL
       //
 
     public:
-      virtual ::StatusCode onNewInputFile (ModuleData& data) override;
 
-    public:
-      virtual ::StatusCode onCloseInputFile (ModuleData& data) override;
+      using Module::Module;
+
+      virtual StatusCode onNewInputFile (ModuleData& data) override;
+      virtual StatusCode onCloseInputFile (ModuleData& data) override;
     };
   }
 }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/WorkerConfigModule.h b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/WorkerConfigModule.h
index 6352226f42d0e1898d876c7db1cea2ae7646458f..dfdfe50f30a13e736911db9b88b3270a4bb483fb 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/WorkerConfigModule.h
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/WorkerConfigModule.h
@@ -23,6 +23,8 @@ namespace EL
     {
     public:
 
+      using Module::Module;
+
       virtual StatusCode onInitialize (ModuleData& data) override;
     };
   }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmMemoryModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmMemoryModule.cxx
index 31853b973c4ae2bebf13bff5c397763952d9a3e5..15cf29626a38d3825936af2c589e66232c5a8855 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmMemoryModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmMemoryModule.cxx
@@ -12,7 +12,6 @@
 
 #include <EventLoop/AlgorithmMemoryModule.h>
 
-#include <EventLoop/MessageCheck.h>
 #include <EventLoop/ModuleData.h>
 #include <EventLoop/AlgorithmMemoryWrapper.h>
 #include <TSystem.h>
@@ -28,7 +27,6 @@ namespace EL
     StatusCode AlgorithmMemoryModule ::
     firstInitialize (ModuleData& data)
     {
-      using namespace msgEventLoop;
       ::ProcInfo_t pinfo;
       if (gSystem->GetProcInfo (&pinfo) != 0) {
         ANA_MSG_ERROR ("Could not get memory usage information");
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmStateModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmStateModule.cxx
index 17c3327bc44552916be1e2c16e39a73596552d14..6eb740a47b72dd9bf608acb9f8e9503979fdbdce 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmStateModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmStateModule.cxx
@@ -32,10 +32,9 @@ namespace EL
   {
     namespace
     {
-      template<typename F> ::StatusCode
-      forAllAlgorithms (ModuleData& data, const char *funcName, F&& func)
+      template<typename F> StatusCode
+      forAllAlgorithms (MsgStream& msg, ModuleData& data, const char *funcName, F&& func)
       {
-        using namespace msgEventLoop;
         for (AlgorithmData& alg : data.m_algs)
         {
           try
@@ -43,13 +42,13 @@ namespace EL
             typedef typename std::decay<decltype(func(alg))>::type scType__;
             if (!::asg::CheckHelper<scType__>::isSuccess (func (alg)))
             {
-              ANA_MSG_ERROR ("executing " << funcName << " on algorithm " << alg->getName());
+              msg << MSG::ERROR << "executing " << funcName << " on algorithm " << alg->getName() << endmsg;
               return StatusCode::FAILURE;
             }
           } catch (...)
           {
             report_exception (std::current_exception());
-            ANA_MSG_ERROR ("executing " << funcName << " on algorithm " << alg->getName());
+            msg << MSG::ERROR << "executing " << funcName << " on algorithm " << alg->getName() << endmsg;
             return StatusCode::FAILURE;
           }
         }
@@ -59,14 +58,13 @@ namespace EL
 
 
 
-    ::StatusCode AlgorithmStateModule ::
+    StatusCode AlgorithmStateModule ::
     onInitialize (ModuleData& data)
     {
-      using namespace msgEventLoop;
       if (m_initialized)
       {
         ANA_MSG_ERROR ("getting second initialize call");
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
       m_initialized = true;
       AlgorithmWorkerData workerData;
@@ -75,72 +73,67 @@ namespace EL
       workerData.m_filterWorker = data.m_worker;
       workerData.m_wk = data.m_worker;
       workerData.m_evtStore = data.m_evtStore;
-      return forAllAlgorithms (data, "initialize", [&] (AlgorithmData& alg) {
+      return forAllAlgorithms (msg(), data, "initialize", [&] (AlgorithmData& alg) {
         return alg->initialize (workerData);});
     }
 
 
 
-    ::StatusCode AlgorithmStateModule ::
+    StatusCode AlgorithmStateModule ::
     onFinalize (ModuleData& data)
     {
-      using namespace msgEventLoop;
       if (!m_initialized)
-        return ::StatusCode::SUCCESS;
-      if (forAllAlgorithms (data, "finalize", [&] (AlgorithmData& alg) {
+        return StatusCode::SUCCESS;
+      if (forAllAlgorithms (msg(), data, "finalize", [&] (AlgorithmData& alg) {
             return alg->finalize ();}).isFailure())
         return StatusCode::FAILURE;
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode AlgorithmStateModule ::
+    StatusCode AlgorithmStateModule ::
     onCloseInputFile (ModuleData& data)
     {
-      using namespace msgEventLoop;
-      return forAllAlgorithms (data, "endInputFile", [&] (AlgorithmData& alg) {
+      return forAllAlgorithms (msg(), data, "endInputFile", [&] (AlgorithmData& alg) {
           return alg->endInputFile ();});
     }
 
 
 
-    ::StatusCode AlgorithmStateModule ::
+    StatusCode AlgorithmStateModule ::
     onNewInputFile (ModuleData& data)
     {
-      using namespace msgEventLoop;
       if (!m_initialized)
       {
         ANA_MSG_ERROR ("algorithms have not been initialized yet");
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
 
       if (data.m_inputTree == nullptr ||
           data.m_inputTree->GetEntries() == 0)
-        return ::StatusCode::SUCCESS;
+        return StatusCode::SUCCESS;
 
-      if (forAllAlgorithms (data, "changeInput", [&] (AlgorithmData& alg) {
+      if (forAllAlgorithms (msg(), data, "changeInput", [&] (AlgorithmData& alg) {
             return alg->beginInputFile ();}).isFailure())
-        return ::StatusCode::FAILURE;
-      return ::StatusCode::SUCCESS;
+        return StatusCode::FAILURE;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode AlgorithmStateModule ::
+    StatusCode AlgorithmStateModule ::
     onFileExecute (ModuleData& data)
     {
-      using namespace msgEventLoop;
-      return forAllAlgorithms (data, "fileExecute", [&] (AlgorithmData& alg) {
+      return forAllAlgorithms (msg(), data, "fileExecute", [&] (AlgorithmData& alg) {
           return alg->fileExecute ();});
     }
 
 
 
-    ::StatusCode AlgorithmStateModule ::
+    StatusCode AlgorithmStateModule ::
     onExecute (ModuleData& data)
     {
-      using namespace msgEventLoop;
       RCU_CHANGE_INVARIANT (this);
 
       data.m_skipEvent = false;
@@ -154,20 +147,20 @@ namespace EL
           if (iter->m_algorithm->execute() == StatusCode::FAILURE)
           {
             ANA_MSG_ERROR ("while calling execute() on algorithm " << iter->m_algorithm->getName());
-            return ::StatusCode::FAILURE;
+            return StatusCode::FAILURE;
           }
 
           if (data.m_skipEvent)
           {
             iter->m_skipCount += 1;
-            return ::StatusCode::SUCCESS;
+            return StatusCode::SUCCESS;
           }
         }
       } catch (...)
       {
         Detail::report_exception (std::current_exception());
         ANA_MSG_ERROR ("while calling execute() on algorithm " << iter->m_algorithm->getName());
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
 
       /// rationale: this will make sure that the post-processing runs
@@ -180,17 +173,17 @@ namespace EL
           if (jter->m_algorithm->postExecute() == StatusCode::FAILURE)
           {
             ANA_MSG_ERROR ("while calling postExecute() on algorithm " << iter->m_algorithm->getName());
-            return ::StatusCode::FAILURE;
+            return StatusCode::FAILURE;
           }
         }
       } catch (...)
       {
         Detail::report_exception (std::current_exception());
         ANA_MSG_ERROR ("while calling postExecute() on algorithm " << iter->m_algorithm->getName());
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
 
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
   }
 }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmTimerModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmTimerModule.cxx
index 7247e92b1c0edff2ad2ce6b8497ecbb39b488d65..c7f428ebb3ee9ce29ff2a3922abf38d469c69ef8 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmTimerModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/AlgorithmTimerModule.cxx
@@ -23,12 +23,12 @@ namespace EL
 {
   namespace Detail
   {
-    ::StatusCode AlgorithmTimerModule ::
+    StatusCode AlgorithmTimerModule ::
     firstInitialize (ModuleData& data)
     {
       for (auto& alg : data.m_algs)
         alg.m_algorithm = std::make_unique<AlgorithmTimerWrapper>(std::move (alg.m_algorithm));
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
   }
 }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/BatchInputModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/BatchInputModule.cxx
index 32992503bd41c727ca2e51c1e196dc1524e9ef2e..b94b6cb0766deaee93102f360f6cc7f2c7fef8e3 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/BatchInputModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/BatchInputModule.cxx
@@ -15,7 +15,6 @@
 #include <EventLoop/BatchSegment.h>
 #include <EventLoop/EventRange.h>
 #include <EventLoop/IInputModuleActions.h>
-#include <EventLoop/MessageCheck.h>
 #include <RootCoreUtils/Assert.h>
 
 //
@@ -29,8 +28,6 @@ namespace EL
     StatusCode BatchInputModule ::
     processInputs (ModuleData& /*data*/, IInputModuleActions& actions)
     {
-      using namespace msgEventLoop;
-
       Long64_t beginFile = segment->begin_file;
       Long64_t endFile   = segment->end_file;
       Long64_t lastFile  = segment->end_file;
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/DirectInputModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/DirectInputModule.cxx
index 81a7c49780e1c3af84de2288dbf83b9bba46b742..7cdf16e13acaabd212fb9cace2ae5dccb4b154ac 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/DirectInputModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/DirectInputModule.cxx
@@ -13,7 +13,6 @@
 
 #include <EventLoop/IInputModuleActions.h>
 #include <EventLoop/EventRange.h>
-#include <EventLoop/MessageCheck.h>
 #include <RootCoreUtils/Assert.h>
 
 //
@@ -27,7 +26,6 @@ namespace EL
     StatusCode DirectInputModule ::
     processInputs (ModuleData& /*data*/, IInputModuleActions& actions)
     {
-      using namespace msgEventLoop;
       Long64_t toSkip = this->skipEvents.value_or (0);
       std::optional<Long64_t> toProcess;
       if (this->maxEvents.has_value())
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/EventCountModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/EventCountModule.cxx
index cc3107d02240584b1e3ec87ea2e78cc0a481f621..4b571c9bfd0497a70ae89e1e133ddc7f5be8978e 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/EventCountModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/EventCountModule.cxx
@@ -24,7 +24,7 @@ namespace EL
 {
   namespace Detail
   {
-    ::StatusCode EventCountModule ::
+    StatusCode EventCountModule ::
     postFinalize (ModuleData& data)
     {
       auto eventCount = std::make_unique<TH1D>
@@ -46,7 +46,7 @@ namespace EL
       }
 
       data.addOutput (std::move (eventCount));
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
   }
 }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/FactoryPreloadModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/FactoryPreloadModule.cxx
index 7b1105850af362887b8bf266978b36deb9077c21..006604a124614550855722d92547dae3b94cc92b 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/FactoryPreloadModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/FactoryPreloadModule.cxx
@@ -12,7 +12,6 @@
 #include <EventLoop/FactoryPreloadModule.h>
 
 #include <AsgTools/MessageCheckAsgTools.h>
-#include <EventLoop/MessageCheck.h>
 #include <TInterpreter.h>
 #include <TSystem.h>
 #include <boost/algorithm/string.hpp>
@@ -25,17 +24,8 @@ namespace EL
 {
   namespace Detail
   {
-    FactoryPreloadModule ::
-    FactoryPreloadModule (const std::string& val_preloader)
-      : preloader (val_preloader)
-    {
-    }
-
-
     StatusCode FactoryPreloadModule::onInitialize (ModuleData& /*data*/)
     {
-      using namespace msgEventLoop;
-
       std::vector<std::string> preloaderList;
       boost::split (preloaderList, preloader, boost::is_any_of (","));
 
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/FileExecutedModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/FileExecutedModule.cxx
index 325f4e9f0462e11e1299a43a85ede418827c523a..aa160eea55a8b639e8e7e2cb511b6bb8ebfee506 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/FileExecutedModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/FileExecutedModule.cxx
@@ -33,7 +33,7 @@ namespace EL
 
 
 
-    ::StatusCode FileExecutedModule ::
+    StatusCode FileExecutedModule ::
     onInitialize (ModuleData& /*data*/)
     {
       m_fileExecutedTree = std::make_unique<TTree>
@@ -41,12 +41,12 @@ namespace EL
       m_fileExecutedTree->SetDirectory (nullptr);
       m_fileExecutedName = new TString;
       m_fileExecutedTree->Branch ("file", &m_fileExecutedName);
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode FileExecutedModule ::
+    StatusCode FileExecutedModule ::
     onFileExecute (ModuleData& data)
     {
       auto split = data.m_inputFileUrl.rfind ('/');
@@ -55,16 +55,16 @@ namespace EL
       else
         *m_fileExecutedName = data.m_inputFileUrl;
       m_fileExecutedTree->Fill ();
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode FileExecutedModule ::
+    StatusCode FileExecutedModule ::
     postFinalize (ModuleData& data)
     {
       data.addOutput (std::move (m_fileExecutedTree));
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
   }
 }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/GridReportingModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/GridReportingModule.cxx
index 5ee0e17d05cc1766e4557eaa08f7a414a672cb66..d1ba8463ef44194de23b6410c901f34365ce1293 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/GridReportingModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/GridReportingModule.cxx
@@ -12,7 +12,6 @@
 
 #include <EventLoop/GridReportingModule.h>
 
-#include <EventLoop/MessageCheck.h>
 #include <EventLoop/ModuleData.h>
 #include <algorithm>
 #include <fstream>
@@ -25,30 +24,28 @@ namespace EL
 {
   namespace Detail
   {
-    ::StatusCode GridReportingModule ::
+    StatusCode GridReportingModule ::
     onNewInputFile (ModuleData& data)
     {
       if (std::find (m_files.begin(), m_files.end(), data.m_inputFileUrl) == m_files.end())
         m_files.push_back (data.m_inputFileUrl);
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode GridReportingModule ::
+    StatusCode GridReportingModule ::
     onExecute (ModuleData& /*data*/)
     {
       ++m_eventsProcessed;
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode GridReportingModule ::
+    StatusCode GridReportingModule ::
     postFileClose (ModuleData& /*data*/)
     {
-      using namespace msgEventLoop;
-
       // createJobSummary
       std::ofstream summaryfile("../AthSummary.txt");
       if (summaryfile.is_open()) {
@@ -62,7 +59,7 @@ namespace EL
       else {
         ANA_MSG_WARNING ("Failed to write summary file.");
       }
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
@@ -70,8 +67,6 @@ namespace EL
     void GridReportingModule ::
     reportInputFailure (ModuleData& /*data*/)
     {
-      using namespace msgEventLoop;
-
       ANA_MSG_FATAL ("encountered input error");
       exit (EC_BADINPUT);
     }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/LeakCheckModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/LeakCheckModule.cxx
index 0ff4380feda6f120583e7b415cec679e0a70db2a..03a8ce319cf816c4d1a0299f122eeb19e2fdbd50 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/LeakCheckModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/LeakCheckModule.cxx
@@ -14,7 +14,6 @@
 #include <EventLoop/LeakCheckModule.h>
 
 #include <EventLoop/Job.h>
-#include <EventLoop/MessageCheck.h>
 #include <EventLoop/ModuleData.h>
 #include <SampleHandler/MetaObject.h>
 #include <TSystem.h>
@@ -29,38 +28,34 @@ namespace EL
 {
   namespace Detail
   {
-    ::StatusCode LeakCheckModule ::
+    StatusCode LeakCheckModule ::
     postFirstEvent (ModuleData& data)
     {
-      using namespace msgEventLoop;
-
       m_skippedEvents = data.m_eventsProcessed + 1;
 
       // Get the memory usage of the process after initialisation.
       ::ProcInfo_t pinfo;
       if (gSystem->GetProcInfo (&pinfo) != 0) {
         ANA_MSG_ERROR ("Could not get memory usage information");
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
       m_initMemResident = pinfo.fMemResident;
       m_initMemVirtual = pinfo.fMemVirtual;
       ANA_MSG_DEBUG ("starting memory: " << pinfo.fMemResident << " " << pinfo.fMemVirtual);
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode LeakCheckModule ::
+    StatusCode LeakCheckModule ::
     postFinalize (ModuleData& data)
     {
-      using namespace msgEventLoop;
-
       if (m_skippedEvents > 0) {
         // Get the memory usage of the process after finalisation.
         ::ProcInfo_t pinfo;
         if (gSystem->GetProcInfo (&pinfo) != 0) {
           ANA_MSG_ERROR ("Could not get memory usage information");
-          return ::StatusCode::FAILURE;
+          return StatusCode::FAILURE;
         }
         m_finMemResident = pinfo.fMemResident;
         m_finMemVirtual = pinfo.fMemVirtual;
@@ -71,24 +66,22 @@ namespace EL
         Float_t incRes = memIncreaseResident();
         if (! data.m_jobStats->Branch ("memIncreaseResident", &incRes)) {
           ANA_MSG_ERROR ("Failed to create branch memIncreaseResident");
-          return ::StatusCode::FAILURE;
+          return StatusCode::FAILURE;
         }
         Float_t incVirt = memIncreaseVirtual();
         if (! data.m_jobStats->Branch ("memIncreaseVirtual", &incVirt)) {
           ANA_MSG_ERROR ("Failed to create branch memIncreaseVirtual");
-          return ::StatusCode::FAILURE;
+          return StatusCode::FAILURE;
         }
       }
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode LeakCheckModule ::
+    StatusCode LeakCheckModule ::
     onWorkerEnd (ModuleData& data)
     {
-      using namespace msgEventLoop;
-
       // Perform a memory leak check in case at least one event was processed.
       if (m_skippedEvents > 0 &&
           data.m_eventsProcessed > m_skippedEvents) {
@@ -131,7 +124,7 @@ namespace EL
           // If not, decide what to do about it.
           if (data.m_metaData->castBool (Job::optMemFailOnLeak, false)) {
             ANA_MSG_ERROR ("A significant memory leak was detected");
-            return ::StatusCode::FAILURE;
+            return StatusCode::FAILURE;
           } else {
             ANA_MSG_WARNING ("*");
             ANA_MSG_WARNING ("* A significant memory leak was detected");
@@ -139,7 +132,7 @@ namespace EL
           }
         }
       }
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/MemoryMonitorModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/MemoryMonitorModule.cxx
index bac0e3f90bea3cc3296d51396c2519cb35b8ca9e..03210b2a1dd7692cde61a2e40a596f4ef4b30d75 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/MemoryMonitorModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/MemoryMonitorModule.cxx
@@ -12,7 +12,6 @@
 
 #include <EventLoop/MemoryMonitorModule.h>
 
-#include <EventLoop/MessageCheck.h>
 #include <EventLoop/ModuleData.h>
 #include <TSystem.h>
 
@@ -24,13 +23,6 @@ namespace EL
 {
   namespace Detail
   {
-    MemoryMonitorModule ::
-    MemoryMonitorModule (const std::string& name)
-      : AsgMessaging (name)
-    {}
-
-
-
     StatusCode MemoryMonitorModule ::
     firstInitialize (ModuleData& /*data*/)
     {
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/PostClosedOutputsModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/PostClosedOutputsModule.cxx
index d24182d73b19ac1703dfbbfcd5041a3129974b1b..b10442b813b8a75b45ef14576abdc508f809d4f3 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/PostClosedOutputsModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/PostClosedOutputsModule.cxx
@@ -6,8 +6,8 @@
 
 
 #include <EventLoop/PostClosedOutputsModule.h>
+
 #include <EventLoop/Job.h>
-#include <EventLoop/MessageCheck.h>
 #include <EventLoop/ModuleData.h>
 #include <EventLoop/Worker.h>
 #include <RootCoreUtils/ShellExec.h>
@@ -21,18 +21,16 @@ namespace EL
 {
   namespace Detail
   {
-    ::StatusCode PostClosedOutputsModule ::
+    StatusCode PostClosedOutputsModule ::
     postFileClose (ModuleData& data)
     { 
-      using namespace msgEventLoop;
-      
       // get executable if user provided one 
       std::string postCloseExec = data.m_worker->metaData()->castString (Job::optWorkerPostClosedOutputsExecutable, ""); 
 
       if (!postCloseExec.size()){
         // user did not provide an excutable to be called after all outputs are closed
         ANA_MSG_DEBUG ("PostClosedOutputsModule: no additionnal checks/actions performed after all outputs are closed");
-        return ::StatusCode::SUCCESS;
+        return StatusCode::SUCCESS;
       }
 
       // user provided an executable to be used 
@@ -52,7 +50,7 @@ namespace EL
         ANA_MSG_INFO ("PostClosedOutputsModule: execute command line = '" << cmdLineToExecute << "'");
         RCU::Shell::exec (cmdLineToExecute.c_str());
       }
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
   }
 }
\ No newline at end of file
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/TEventModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/TEventModule.cxx
index 001bf165d9d52aae2e7d2922d903d7a1bfd0f27c..54b8d0f651c5c8079a65d1011f31bb3cdc4fa227 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/TEventModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/TEventModule.cxx
@@ -18,7 +18,6 @@
 #include <xAODRootAccess/TStore.h>
 // #include <xAODRootAccess/D3PDPerfStats.h>
 #include <EventLoop/Job.h>
-#include <EventLoop/MessageCheck.h>
 #include <EventLoop/StatusCode.h>
 #include <EventLoop/Worker.h>
 #include <RootCoreUtils/Assert.h>
@@ -39,7 +38,8 @@ namespace EL
   namespace Detail
   {
     TEventModule ::
-    TEventModule ()
+    TEventModule (const std::string& name)
+      : Module (name)
     {}
 
 
@@ -50,19 +50,18 @@ namespace EL
 
 
 
-    ::StatusCode TEventModule ::
+    StatusCode TEventModule ::
     onInitialize (ModuleData& data)
     {
-      using namespace msgEventLoop;
       if (m_event != nullptr || m_store != nullptr)
       {
         ANA_MSG_ERROR ("module initialized twice");
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
       if (data.m_tevent != nullptr || data.m_tstore != nullptr)
       {
         ANA_MSG_ERROR ("duplicate TEventModule??");
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
 
       std::string modeStr = data.m_metaData->castString
@@ -79,7 +78,7 @@ namespace EL
         else
         {
           ANA_MSG_ERROR ("unknown XAOD access mode: " << modeStr);
-          return ::StatusCode::FAILURE;
+          return StatusCode::FAILURE;
         }
         m_event.reset (new xAOD::TEvent (mode));
       } else
@@ -105,7 +104,7 @@ namespace EL
       if (!data.m_inputFile)
       {
         ANA_MSG_ERROR ("File is not available during initialization?!?");
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
       // Set up the reading from the first input file, which should be
       // open already. But note that no event is loaded with getEntry(...)
@@ -118,7 +117,7 @@ namespace EL
 
 
 
-    ::StatusCode TEventModule ::
+    StatusCode TEventModule ::
     postFinalize (ModuleData& data)
     {
       if (m_useStats)
@@ -141,46 +140,43 @@ namespace EL
 
 
 
-    ::StatusCode TEventModule ::
+    StatusCode TEventModule ::
     onNewInputFile (ModuleData& data)
     {
-      using namespace msgEventLoop;
       if (m_event == nullptr || m_store == nullptr)
       {
         ANA_MSG_ERROR ("module not inititalized");
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
       ANA_CHECK (m_event->readFrom (data.m_inputFile.get()));
       if ((m_event->getEntries() > 0) && (m_event->getEntry (0) < 0))
       {
         ANA_MSG_ERROR ("Failed to load first entry from file");
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
       m_store->clear ();
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode TEventModule ::
+    StatusCode TEventModule ::
     postCloseInputFile (ModuleData& /*data*/)
     {
-      using namespace msgEventLoop;
       if (m_event == nullptr || m_store == nullptr)
       {
         ANA_MSG_ERROR ("module not inititalized");
-        return ::StatusCode::FAILURE;
+        return StatusCode::FAILURE;
       }
       ANA_CHECK (m_event->readFrom ((TFile *)nullptr));
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode TEventModule ::
+    StatusCode TEventModule ::
     onExecute (ModuleData& data)
     {
-      using namespace msgEventLoop;
       m_store->clear ();
       if (m_event->getEntry (data.m_inputTreeEntry) < 0)
         RCU_THROW_MSG ("failed to read from xAOD");
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/TreeCacheModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/TreeCacheModule.cxx
index 28c63c5337561bfa81a593c2903cbe88daf0b682..ab207394ac26c8139734812456cf140c22a23fcd 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/TreeCacheModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/TreeCacheModule.cxx
@@ -13,7 +13,6 @@
 #include <EventLoop/TreeCacheModule.h>
 
 #include <EventLoop/Job.h>
-#include <EventLoop/MessageCheck.h>
 #include <EventLoop/ModuleData.h>
 #include <TTree.h>
 
@@ -25,7 +24,7 @@ namespace EL
 {
   namespace Detail
   {
-    ::StatusCode TreeCacheModule ::
+    StatusCode TreeCacheModule ::
     onNewInputFile (ModuleData& data)
     {
       if (data.m_inputTree)
@@ -37,21 +36,20 @@ namespace EL
         if (cacheLearnEntries > 0)
           data.m_inputTree->SetCacheLearnEntries (cacheLearnEntries);
       }
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
 
 
 
-    ::StatusCode TreeCacheModule ::
+    StatusCode TreeCacheModule ::
     onCloseInputFile (ModuleData& data)
     {
-      using namespace msgEventLoop;
       if (data.m_metaData->castBool (Job::optPrintPerFileStats, false))
       {
         ANA_MSG_INFO ("file stats for: " << data.m_inputFileUrl);
         data.m_inputTree->PrintCacheStats ();
       }
-      return ::StatusCode::SUCCESS;
+      return StatusCode::SUCCESS;
     }
   }
 }
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/Worker.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/Worker.cxx
index 26f7a310a1f3224a8770507e15df004d69f461f3..49072d714f45dfff7062441f8a88e9ab63969fbf 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/Worker.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/Worker.cxx
@@ -383,27 +383,31 @@ namespace EL
 
     ANA_MSG_INFO ("xAODInput = " << xAODInput);
     if (metaData()->castBool (Job::optAlgorithmMemoryMonitor, false))
-      m_modules.push_back (std::make_unique<Detail::MemoryMonitorModule> ("EarlyMemoryMonitor"));
+      m_modules.push_back (std::make_unique<Detail::MemoryMonitorModule> ("EarlyMemoryMonitorModule"));
     if (xAODInput)
-      m_modules.push_back (std::make_unique<Detail::TEventModule> ());
+      m_modules.push_back (std::make_unique<Detail::TEventModule> ("TEventModule"));
     auto factoryPreload = metaData()->castString (Job::optFactoryPreload, "");
     if (!factoryPreload.empty())
-      m_modules.push_back (std::make_unique<Detail::FactoryPreloadModule> (factoryPreload));
-    m_modules.push_back (std::make_unique<Detail::LeakCheckModule> ());
-    m_modules.push_back (std::make_unique<Detail::StopwatchModule> ());
+    {
+      auto module = std::make_unique<Detail::FactoryPreloadModule> ("FactoryPreloadModule");
+      module->preloader = factoryPreload;
+      m_modules.push_back (std::move (module));
+    }
+    m_modules.push_back (std::make_unique<Detail::LeakCheckModule> ("LeakCheckModule"));
+    m_modules.push_back (std::make_unique<Detail::StopwatchModule> ("StopwatchModule"));
     if (metaData()->castBool (Job::optGridReporting, false))
-      m_modules.push_back (std::make_unique<Detail::GridReportingModule>());
+      m_modules.push_back (std::make_unique<Detail::GridReportingModule>("GridReportingModule"));
     if (metaData()->castBool (Job::optAlgorithmTimer, false))
-      m_modules.push_back (std::make_unique<Detail::AlgorithmTimerModule> ());
+      m_modules.push_back (std::make_unique<Detail::AlgorithmTimerModule> ("AlgorithmTimerModule"));
     if (metaData()->castBool (Job::optAlgorithmMemoryMonitor, false))
-      m_modules.push_back (std::make_unique<Detail::AlgorithmMemoryModule> ());
-    m_modules.push_back (std::make_unique<Detail::FileExecutedModule> ());
-    m_modules.push_back (std::make_unique<Detail::EventCountModule> ());
-    m_modules.push_back (std::make_unique<Detail::WorkerConfigModule> ());
-    m_modules.push_back (std::make_unique<Detail::AlgorithmStateModule> ());
-    m_modules.push_back (std::make_unique<Detail::PostClosedOutputsModule> ());
+      m_modules.push_back (std::make_unique<Detail::AlgorithmMemoryModule> ("AlgorithmMemoryModule"));
+    m_modules.push_back (std::make_unique<Detail::FileExecutedModule> ("FileExecutedModule"));
+    m_modules.push_back (std::make_unique<Detail::EventCountModule> ("EventCountModule"));
+    m_modules.push_back (std::make_unique<Detail::WorkerConfigModule> ("WorkerConfigModule"));
+    m_modules.push_back (std::make_unique<Detail::AlgorithmStateModule> ("AlgorithmStateModule"));
+    m_modules.push_back (std::make_unique<Detail::PostClosedOutputsModule> ("PostClosedOutputsModule"));
     if (metaData()->castBool (Job::optAlgorithmMemoryMonitor, false))
-      m_modules.push_back (std::make_unique<Detail::MemoryMonitorModule> ("LateMemoryMonitor"));
+      m_modules.push_back (std::make_unique<Detail::MemoryMonitorModule> ("LateMemoryMonitorModule"));
 
     if (m_outputs.find (Job::histogramStreamName) == m_outputs.end())
     {
@@ -750,7 +754,7 @@ namespace EL
     }
 
     {
-      auto module = std::make_unique<Detail::DirectInputModule> ();
+      auto module = std::make_unique<Detail::DirectInputModule> ("DirectInputModule");
       module->fileList = sample->makeFileList();
       Long64_t maxEvents = metaData()->castDouble (Job::optMaxEvents, -1);
       if (maxEvents != -1)
@@ -819,7 +823,7 @@ namespace EL
       }
 
       {
-        auto module = std::make_unique<Detail::BatchInputModule> ();
+        auto module = std::make_unique<Detail::BatchInputModule> ("BatchInputModule");
         Long64_t maxEvents = metaData()->castDouble (Job::optMaxEvents, -1);
         if (maxEvents != -1)
           module->maxEvents = maxEvents;
@@ -937,7 +941,7 @@ namespace EL
     setJobConfig (std::move (*jobConfig));
 
     {
-      auto module = std::make_unique<Detail::DirectInputModule> ();
+      auto module = std::make_unique<Detail::DirectInputModule> ("DirectInputModule");
       std::ifstream infile("input.txt");
       while (infile) {
         std::string sLine;
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/Root/WorkerConfigModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/Root/WorkerConfigModule.cxx
index 301d19132ab467fb2ae3d7ab1e4cd8a84258c76c..112b06f64c02e447b2f6a316c69dd2a45c73e04c 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/Root/WorkerConfigModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/Root/WorkerConfigModule.cxx
@@ -12,7 +12,6 @@
 #include <EventLoop/WorkerConfigModule.h>
 
 #include <EventLoop/Job.h>
-#include <EventLoop/MessageCheck.h>
 #include <EventLoop/ModuleData.h>
 #include <EventLoop/WorkerConfig.h>
 #include <EventLoop/Worker.h>
@@ -31,7 +30,6 @@ namespace EL
     StatusCode WorkerConfigModule ::
     onInitialize (ModuleData& data)
     {
-      using namespace msgEventLoop;
       std::string configFile = data.m_worker->metaData()->castString (Job::optWorkerConfigFile, "");
       if (!configFile.empty())
       {
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/test/gt_DirectInputModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/test/gt_DirectInputModule.cxx
index f0f48513e5813ec93219667d339e74100a48819b..1dc8f3eaca9e82be34e44972bd643351056f5742 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/test/gt_DirectInputModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/test/gt_DirectInputModule.cxx
@@ -101,7 +101,7 @@ namespace EL
 
     TEST_F (DirectInputModuleTest, simpleTest)
     {
-      auto module = std::make_unique<DirectInputModule> ();
+      auto module = std::make_unique<DirectInputModule> ("DirectInputModule");
       module->fileList = {"test1.root", "test2.root"};
 
       actions.toProcessFiles =
@@ -117,7 +117,7 @@ namespace EL
 
     TEST_F (DirectInputModuleTest, skipLimitTest)
     {
-      auto module = std::make_unique<DirectInputModule> ();
+      auto module = std::make_unique<DirectInputModule> ("DirectInputModule");
       module->fileList = {"test1.root", "test2.root"};
       module->skipEvents = 5u;
       module->maxEvents = 10u;
@@ -135,7 +135,7 @@ namespace EL
 
     TEST_F (DirectInputModuleTest, skipFileTest)
     {
-      auto module = std::make_unique<DirectInputModule> ();
+      auto module = std::make_unique<DirectInputModule> ("DirectInputModule");
       module->fileList = {"test1.root", "test2.root"};
       module->skipEvents = 15u;
 
@@ -151,7 +151,7 @@ namespace EL
 
     TEST_F (DirectInputModuleTest, limitFileTest)
     {
-      auto module = std::make_unique<DirectInputModule> ();
+      auto module = std::make_unique<DirectInputModule> ("DirectInputModule");
       module->fileList = {"test1.root", "test2.root"};
       module->maxEvents = 5u;
 
@@ -167,7 +167,7 @@ namespace EL
 
     TEST_F (DirectInputModuleTest, emptyFileTest)
     {
-      auto module = std::make_unique<DirectInputModule> ();
+      auto module = std::make_unique<DirectInputModule> ("DirectInputModule");
       module->fileList = {"empty.root", "test1.root", "test2.root"};
 
       actions.toProcessFiles =
@@ -183,7 +183,7 @@ namespace EL
 
     TEST_F (DirectInputModuleTest, skipToEmptyTest)
     {
-      auto module = std::make_unique<DirectInputModule> ();
+      auto module = std::make_unique<DirectInputModule> ("DirectInputModule");
       module->fileList = {"test1.root", "empty.root", "test2.root"};
       module->skipEvents = 10u;
 
diff --git a/PhysicsAnalysis/D3PDTools/EventLoop/test/gt_MemoryMonitorModule.cxx b/PhysicsAnalysis/D3PDTools/EventLoop/test/gt_MemoryMonitorModule.cxx
index e6912151318e7ceebb3b598d781ea2d367d75881..2eec1c51d6677006af19a8ec94f63071e5e3d6dd 100644
--- a/PhysicsAnalysis/D3PDTools/EventLoop/test/gt_MemoryMonitorModule.cxx
+++ b/PhysicsAnalysis/D3PDTools/EventLoop/test/gt_MemoryMonitorModule.cxx
@@ -27,7 +27,7 @@ namespace EL
     // I pick (this is meant as a white-box test).
     TEST (MemoryMonitorModuleTest, simpleTest)
     {
-      auto module = std::make_unique<MemoryMonitorModule> ("monitor");
+      auto module = std::make_unique<MemoryMonitorModule> ("MemoryMonitorModule");
       ModuleData data;
 
       ASSERT_SUCCESS (module->firstInitialize (data));