diff --git a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateReader.cpp b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateReader.cpp
index 4e14baacb6040f7bf97a4855d3da7e4d252bce03..0eecc8e79de97cb3e164b195dd43cedc57b789cf 100644
--- a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateReader.cpp
+++ b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateReader.cpp
@@ -10,13 +10,12 @@
 
 namespace armarx::armem
 {
-    GraspCandidateReader::GraspCandidateReader(armem::client::MemoryNameSystem& memoryNameSystem) :
-        memoryNameSystem(memoryNameSystem)
+    GraspCandidateReader::GraspCandidateReader()
     {
     }
 
     void
-    GraspCandidateReader::connect(bool use)
+    GraspCandidateReader::connect(armem::client::MemoryNameSystem& memoryNameSystem, bool use)
     {
         // Wait for the memory to become available and add it as dependency.
         ARMARX_IMPORTANT << "GraspCandidateReader: Waiting for memory '" << properties.memoryName
diff --git a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateReader.h b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateReader.h
index 384f5cdb0c1158b714ba8b3038e09f4707dd74bb..4b7bba78baae8c78c7c37fdc77ebdaff8e6fd154 100644
--- a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateReader.h
+++ b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateReader.h
@@ -12,9 +12,9 @@ namespace armarx::armem
     class GraspCandidateReader
     {
     public:
-        GraspCandidateReader(armem::client::MemoryNameSystem& memoryNameSystem);
+        GraspCandidateReader();
 
-        void connect(bool use = true);
+        void connect(armem::client::MemoryNameSystem& memoryNameSystem, bool use = true);
 
         ::armarx::grasping::GraspCandidatePtr
         queryGraspCandidateInstanceByID(armem::MemoryID const& id) const;
@@ -65,8 +65,6 @@ namespace armarx::armem
         } properties;
 
         const std::string propertyPrefix = "mem.grasping.";
-
-        armem::client::MemoryNameSystem& memoryNameSystem;
     };
 
 } // namespace armarx::armem
diff --git a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp
index 7aa20ba28af1b49404118cfedb3abd006d784738..1f14e344ee988f984813e2a402903cfb0627b940 100644
--- a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp
+++ b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp
@@ -6,16 +6,11 @@
 #include <RobotAPI/libraries/GraspingUtility/aron_conversions.h>
 #include <RobotAPI/libraries/armem/core/error/mns.h>
 
-
 namespace armarx::armem
 {
 
-    GraspCandidateWriter::GraspCandidateWriter(armem::client::MemoryNameSystem& memoryNameSystem)
-        : memoryNameSystem(memoryNameSystem)
-    {
-    }
-
-    void GraspCandidateWriter::connect()
+    void
+    GraspCandidateWriter::connect(armem::client::MemoryNameSystem& memoryNameSystem)
     {
         // Wait for the memory to become available and add it as dependency.
         ARMARX_IMPORTANT << "GraspCandidateWriter: Waiting for memory '" << properties.memoryName
@@ -23,33 +18,37 @@ namespace armarx::armem
         try
         {
             memoryWriter = memoryNameSystem.useWriter(properties.memoryName);
-            ARMARX_IMPORTANT << "GraspCandidateWriter: Connected to memory '" << properties.memoryName << "'";
+            ARMARX_IMPORTANT << "GraspCandidateWriter: Connected to memory '"
+                             << properties.memoryName << "'";
         }
         catch (const armem::error::CouldNotResolveMemoryServer& e)
         {
             ARMARX_ERROR << e.what();
             return;
         }
-
     }
 
-    void GraspCandidateWriter::registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def)
+    void
+    GraspCandidateWriter::registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def)
     {
         ARMARX_DEBUG << "GraspCandidateWriter: registerPropertyDefinitions";
 
         const std::string prefix = propertyPrefix;
 
-        def->optional(properties.graspMemoryName, prefix + "GraspMemoryName",
+        def->optional(properties.graspMemoryName,
+                      prefix + "GraspMemoryName",
                       "Name of the grasping memory core segment to use.");
-        def->optional(properties.bimanualGraspMemoryName, prefix + "BimanualGraspMemoryName",
+        def->optional(properties.bimanualGraspMemoryName,
+                      prefix + "BimanualGraspMemoryName",
                       "Name of the bimanual grasping memory core segment to use.");
 
         def->optional(properties.memoryName, prefix + "MemoryName");
-
     }
 
-    bool GraspCandidateWriter::commitGraspCandidate(const armarx::grasping::GraspCandidate& candidate,
-            const armem::Time& timestamp, const std::string& provider)
+    bool
+    GraspCandidateWriter::commitGraspCandidate(const armarx::grasping::GraspCandidate& candidate,
+                                               const armem::Time& timestamp,
+                                               const std::string& provider)
     {
         armarx::grasping::arondto::GraspCandidate aronGraspCandidate;
         std::string objectName = "UnknownObject";
@@ -65,8 +64,11 @@ namespace armarx::armem
         return commitToMemory({dict}, provider, objectName, timestamp, properties.graspMemoryName);
     }
 
-    bool GraspCandidateWriter::commitBimanualGraspCandidate(const armarx::grasping::BimanualGraspCandidate& candidate,
-            const armem::Time& timestamp, const std::string& provider)
+    bool
+    GraspCandidateWriter::commitBimanualGraspCandidate(
+        const armarx::grasping::BimanualGraspCandidate& candidate,
+        const armem::Time& timestamp,
+        const std::string& provider)
     {
         armarx::grasping::arondto::BimanualGraspCandidate aronGraspCandidate;
 
@@ -80,11 +82,15 @@ namespace armarx::armem
 
         auto dict = aronGraspCandidate.toAron();
 
-        return commitToMemory({dict}, provider, objectName, timestamp, properties.bimanualGraspMemoryName);
+        return commitToMemory(
+            {dict}, provider, objectName, timestamp, properties.bimanualGraspMemoryName);
     }
 
-    bool GraspCandidateWriter::commitGraspCandidateSeq(const armarx::grasping::GraspCandidateSeq& candidates,
-            const armem::Time& timestamp, const std::string& provider)
+    bool
+    GraspCandidateWriter::commitGraspCandidateSeq(
+        const armarx::grasping::GraspCandidateSeq& candidates,
+        const armem::Time& timestamp,
+        const std::string& provider)
     {
 
         bool success = true;
@@ -107,7 +113,7 @@ namespace armarx::armem
         for (const auto& [key, dict] : updates)
         {
 
-            if (! commitToMemory(dict, provider, key, timestamp, properties.graspMemoryName))
+            if (!commitToMemory(dict, provider, key, timestamp, properties.graspMemoryName))
             {
                 success = false;
             }
@@ -115,8 +121,10 @@ namespace armarx::armem
         return success;
     }
 
-    bool GraspCandidateWriter::commitBimanualGraspCandidateSeq(
-        const armarx::grasping::BimanualGraspCandidateSeq& candidates, const armem::Time& timestamp,
+    bool
+    GraspCandidateWriter::commitBimanualGraspCandidateSeq(
+        const armarx::grasping::BimanualGraspCandidateSeq& candidates,
+        const armem::Time& timestamp,
         const std::string& provider)
     {
         bool success = true;
@@ -138,7 +146,7 @@ namespace armarx::armem
         for (const auto& [key, dict] : updates)
         {
 
-            if (! commitToMemory(dict, provider, key, timestamp, properties.bimanualGraspMemoryName))
+            if (!commitToMemory(dict, provider, key, timestamp, properties.bimanualGraspMemoryName))
             {
                 success = false;
             }
@@ -146,14 +154,16 @@ namespace armarx::armem
         return success;
     }
 
-    bool GraspCandidateWriter::commitToMemory(const std::vector<armarx::aron::data::DictPtr>& instances,
-            const std::string& providerName, const std::string& entityName, const armem::Time& timestamp,
-            const std::string& coreMemoryName)
+    bool
+    GraspCandidateWriter::commitToMemory(const std::vector<armarx::aron::data::DictPtr>& instances,
+                                         const std::string& providerName,
+                                         const std::string& entityName,
+                                         const armem::Time& timestamp,
+                                         const std::string& coreMemoryName)
     {
         std::lock_guard g{memoryWriterMutex};
 
-        const auto result =
-            memoryWriter.addSegment(coreMemoryName, providerName);
+        const auto result = memoryWriter.addSegment(coreMemoryName, providerName);
 
         if (not result.success)
         {
@@ -164,8 +174,7 @@ namespace armarx::armem
         }
 
         const auto providerId = armem::MemoryID(result.segmentID);
-        const auto entityID =
-            providerId.withEntityName(entityName).withTimestamp(timestamp);
+        const auto entityID = providerId.withEntityName(entityName).withTimestamp(timestamp);
 
         armem::EntityUpdate update;
         update.entityID = entityID;
@@ -184,4 +193,4 @@ namespace armarx::armem
 
         return updateResult.success;
     }
-}
+} // namespace armarx::armem
diff --git a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h
index 88793cb534cb18af0fefddcd72be4215eaa70e2b..9b823a6356238b6c4131fdf1437df88fb98a3fb7 100644
--- a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h
+++ b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h
@@ -1,58 +1,60 @@
 #pragma once
 
-#include <RobotAPI/libraries/armem/client/Writer.h>
-#include <RobotAPI/libraries/armem/client.h>
 #include <mutex>
 
-#include <RobotAPI/interface/units/GraspCandidateProviderInterface.h>
 #include <ArmarXCore/core/application/properties/forward_declarations.h>
 
+#include <RobotAPI/interface/units/GraspCandidateProviderInterface.h>
+#include <RobotAPI/libraries/armem/client.h>
+#include <RobotAPI/libraries/armem/client/Writer.h>
+
 namespace armarx::armem
 {
     class GraspCandidateWriter
     {
     public:
-        GraspCandidateWriter(armem::client::MemoryNameSystem& memoryNameSystem);
+        GraspCandidateWriter();
 
-        void connect();
+        void connect(armem::client::MemoryNameSystem& memoryNameSystem);
 
         void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def);
 
         bool commitGraspCandidate(const armarx::grasping::GraspCandidate& candidate,
-                                  const armem::Time& timestamp, const std::string& provider);
+                                  const armem::Time& timestamp,
+                                  const std::string& provider);
         bool commitBimanualGraspCandidate(const armarx::grasping::BimanualGraspCandidate& candidate,
-                                          const armem::Time& timestamp, const std::string& provider);
+                                          const armem::Time& timestamp,
+                                          const std::string& provider);
 
         bool commitGraspCandidateSeq(const armarx::grasping::GraspCandidateSeq& candidates,
-                                     const armem::Time& timestamp, const std::string& provider);
-        bool commitBimanualGraspCandidateSeq(const armarx::grasping::BimanualGraspCandidateSeq& candidates,
-                                             const armem::Time& timestamp, const std::string& provider);
-
+                                     const armem::Time& timestamp,
+                                     const std::string& provider);
+        bool commitBimanualGraspCandidateSeq(
+            const armarx::grasping::BimanualGraspCandidateSeq& candidates,
+            const armem::Time& timestamp,
+            const std::string& provider);
 
 
     private:
-
         bool commitToMemory(const std::vector<armarx::aron::data::DictPtr>& instances,
-                            const std::string& providerName, const std::string& entityName, const armem::Time& timestamp,
+                            const std::string& providerName,
+                            const std::string& entityName,
+                            const armem::Time& timestamp,
                             const std::string& coreMemoryName);
 
-        armem::client::MemoryNameSystem& memoryNameSystem;
-
         armem::client::Writer memoryWriter;
 
         struct Properties
         {
-            std::string memoryName         = "Grasp";
-            std::string graspMemoryName  = "GraspCandidate";
+            std::string memoryName = "Grasp";
+            std::string graspMemoryName = "GraspCandidate";
             std::string bimanualGraspMemoryName = "BimanualGraspCandidate";
         } properties;
 
-
         std::mutex memoryWriterMutex;
 
         const std::string propertyPrefix = "mem.grasping.";
-
     };
 
 
-}
+} // namespace armarx::armem
diff --git a/source/RobotAPI/libraries/armem/client/util/SimpleReaderBase.cpp b/source/RobotAPI/libraries/armem/client/util/SimpleReaderBase.cpp
index 856bc217146eb651770fc192dd9ce8a03ebcdf3c..e14ce8848fd1fe8242d681770563bf9cddefd7cd 100644
--- a/source/RobotAPI/libraries/armem/client/util/SimpleReaderBase.cpp
+++ b/source/RobotAPI/libraries/armem/client/util/SimpleReaderBase.cpp
@@ -6,8 +6,7 @@
 namespace armarx::armem::client::util
 {
 
-    SimpleReaderBase::SimpleReaderBase(MemoryNameSystem& memoryNameSystem) :
-        memoryNameSystem(memoryNameSystem)
+    SimpleReaderBase::SimpleReaderBase()
     {
     }
 
@@ -25,14 +24,13 @@ namespace armarx::armem::client::util
     }
 
     void
-    SimpleReaderBase::connect()
+    SimpleReaderBase::connect(armarx::armem::client::MemoryNameSystem& mns)
     {
         // Wait for the memory to become available and add it as dependency.
         ARMARX_IMPORTANT << "SimpleReaderBase: Waiting for memory '" << props.memoryName << "' ...";
         try
         {
-            memoryReaderClient =
-                memoryNameSystem.useReader(MemoryID().withMemoryName(props.memoryName));
+            memoryReaderClient = mns.useReader(MemoryID().withMemoryName(props.memoryName));
             ARMARX_IMPORTANT << "SimpleReaderBase: Connected to memory '" << props.memoryName
                              << "'";
         }
diff --git a/source/RobotAPI/libraries/armem/client/util/SimpleReaderBase.h b/source/RobotAPI/libraries/armem/client/util/SimpleReaderBase.h
index 45b26e7c9e8c4dd124b762d297d2fb0dca29a317..2b637193765215b81519c55397bcc51a7436041b 100644
--- a/source/RobotAPI/libraries/armem/client/util/SimpleReaderBase.h
+++ b/source/RobotAPI/libraries/armem/client/util/SimpleReaderBase.h
@@ -27,7 +27,6 @@
 
 #include <RobotAPI/libraries/armem/client/Reader.h>
 
-
 namespace armarx::armem::client
 {
     class MemoryNameSystem;
@@ -43,40 +42,36 @@ namespace armarx::armem::client::util
         // Properties
         struct Properties
         {
-          std::string memoryName      = "";
-          std::string coreSegmentName = "";
+            std::string memoryName = "";
+            std::string coreSegmentName = "";
         };
 
-        SimpleReaderBase(MemoryNameSystem& memoryNameSystem);
+        SimpleReaderBase();
         virtual ~SimpleReaderBase() = default;
 
         void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def);
-        virtual void connect();
+        virtual void connect(armarx::armem::client::MemoryNameSystem& mns);
 
         const Properties& properties() const;
-        void setProperties(const Properties& p)
+
+        void
+        setProperties(const Properties& p)
         {
-          props = p;
+            props = p;
         }
 
     protected:
-
-        virtual std::string propertyPrefix() const   = 0;
+        virtual std::string propertyPrefix() const = 0;
         virtual Properties defaultProperties() const = 0;
 
         std::mutex& memoryReaderMutex();
         const armem::client::Reader& memoryReader() const;
 
-
-        MemoryNameSystem& memoryNameSystem;
-
     private:
-
         Properties props;
 
         armem::client::Reader memoryReaderClient;
         std::mutex memoryMutex;
-
     };
 
 } // namespace armarx::armem::client::util
diff --git a/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.cpp b/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.cpp
index 9e27df2c2ef5d7af53529502489085e4f43c231d..e5d468c552d96d70d3ef4ae92196cdb714f39163 100644
--- a/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.cpp
+++ b/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.cpp
@@ -1,17 +1,14 @@
 #include "SimpleWriterBase.h"
 
-#include <RobotAPI/libraries/armem/core/error.h>
 #include <RobotAPI/libraries/armem/client/MemoryNameSystem.h>
-
+#include <RobotAPI/libraries/armem/core/error.h>
 
 namespace armarx::armem::client::util
 {
-    SimpleWriterBase::SimpleWriterBase(MemoryNameSystem& memoryNameSystem) :
-        memoryNameSystem(memoryNameSystem)
+    SimpleWriterBase::SimpleWriterBase()
     {
     }
 
-
     void
     SimpleWriterBase::registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def)
     {
@@ -26,21 +23,19 @@ namespace armarx::armem::client::util
 
         // TODO(fabian.reister): this might also be part of the subclass
         //  if the provider name has to be derived from e.g. the component name
-        def->optional(props.providerName,
-                      prefix + "Provider",
-                      "Name of this provider");
+        def->optional(props.providerName, prefix + "Provider", "Name of this provider");
     }
 
-
-    void SimpleWriterBase::connect()
+    void
+    SimpleWriterBase::connect(armarx::armem::client::MemoryNameSystem& mns)
     {
         // Wait for the memory to become available and add it as dependency.
-        ARMARX_IMPORTANT << "SimpleWriterBase: Waiting for memory '"
-                         << props.memoryName << "' ...";
+        ARMARX_IMPORTANT << "SimpleWriterBase: Waiting for memory '" << props.memoryName << "' ...";
         try
         {
-            memoryWriterClient = memoryNameSystem.useWriter(MemoryID().withMemoryName(props.memoryName));
-            ARMARX_IMPORTANT << "SimpleWriterBase: Connected to memory '" << props.memoryName << "'";
+            memoryWriterClient = mns.useWriter(MemoryID().withMemoryName(props.memoryName));
+            ARMARX_IMPORTANT << "SimpleWriterBase: Connected to memory '" << props.memoryName
+                             << "'";
         }
         catch (const armem::error::CouldNotResolveMemoryServer& e)
         {
@@ -49,20 +44,20 @@ namespace armarx::armem::client::util
         }
     }
 
-
-    std::mutex& SimpleWriterBase::memoryWriterMutex()
+    std::mutex&
+    SimpleWriterBase::memoryWriterMutex()
     {
         return memoryMutex;
     }
 
-
-    armem::client::Writer& SimpleWriterBase::memoryWriter()
+    armem::client::Writer&
+    SimpleWriterBase::memoryWriter()
     {
         return memoryWriterClient;
     }
 
-
-    const SimpleWriterBase::Properties& SimpleWriterBase::properties() const
+    const SimpleWriterBase::Properties&
+    SimpleWriterBase::properties() const
     {
         return props;
     }
diff --git a/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.h b/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.h
index 1413299a3081f36dfaa83cce425c50994e7018c2..13a54cc5b213a90e1949f73c1b11de716c0593cc 100644
--- a/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.h
+++ b/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.h
@@ -27,7 +27,6 @@
 
 #include <RobotAPI/libraries/armem/client/Writer.h>
 
-
 namespace armarx::armem::client
 {
     class MemoryNameSystem;
@@ -39,26 +38,24 @@ namespace armarx::armem::client::util
     class SimpleWriterBase
     {
     public:
-
-        SimpleWriterBase(MemoryNameSystem& memoryNameSystem);
+        SimpleWriterBase();
         virtual ~SimpleWriterBase() = default;
 
         void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def);
-        void connect();
+        void connect(armarx::armem::client::MemoryNameSystem& mns);
 
 
     protected:
-
         struct Properties
         {
-            std::string memoryName      = "";
+            std::string memoryName = "";
             std::string coreSegmentName = "";
-            std::string providerName    = ""; // required property
+            std::string providerName = ""; // required property
         };
 
         const Properties& properties() const;
 
-        virtual std::string propertyPrefix() const   = 0;
+        virtual std::string propertyPrefix() const = 0;
         virtual Properties defaultProperties() const = 0;
 
         std::mutex& memoryWriterMutex();
@@ -66,14 +63,10 @@ namespace armarx::armem::client::util
 
 
     private:
-
         Properties props;
 
         armem::client::Writer memoryWriterClient;
         std::mutex memoryMutex;
-
-        MemoryNameSystem& memoryNameSystem;
-
     };
 
 } // namespace armarx::armem::client::util
diff --git a/source/RobotAPI/libraries/armem_laser_scans/client/common/Reader.cpp b/source/RobotAPI/libraries/armem_laser_scans/client/common/Reader.cpp
index e7ceabba97898778af1c13d9ad9c805357f79ac2..359ad8e8d978d0bde3e480388e5ed2b1e7f39f30 100644
--- a/source/RobotAPI/libraries/armem_laser_scans/client/common/Reader.cpp
+++ b/source/RobotAPI/libraries/armem_laser_scans/client/common/Reader.cpp
@@ -44,16 +44,14 @@
 #include <RobotAPI/libraries/armem_laser_scans/aron_conversions.h>
 #include <RobotAPI/libraries/armem_laser_scans/types.h>
 
-
 namespace armarx::armem::laser_scans::client
 {
 
-    Reader::Reader(armem::client::MemoryNameSystem& memoryNameSystem) :
-        memoryNameSystem(memoryNameSystem)
+    Reader::Reader()
     {
     }
-    Reader::~Reader() = default;
 
+    Reader::~Reader() = default;
 
     void
     Reader::registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def)
@@ -64,7 +62,7 @@ namespace armarx::armem::laser_scans::client
     }
 
     void
-    Reader::connect()
+    Reader::connect(armem::client::MemoryNameSystem& memoryNameSystem)
     {
         // Wait for the memory to become available and add it as dependency.
         ARMARX_IMPORTANT << "MappingDataReader: Waiting for memory '" << constants::memoryName
diff --git a/source/RobotAPI/libraries/armem_laser_scans/client/common/Reader.h b/source/RobotAPI/libraries/armem_laser_scans/client/common/Reader.h
index 55beab204b12a7f72432ef2e38789f1856058934..5bcfd2c63b9b8bc5682f2b58a2dfbebf7a78a56c 100644
--- a/source/RobotAPI/libraries/armem_laser_scans/client/common/Reader.h
+++ b/source/RobotAPI/libraries/armem_laser_scans/client/common/Reader.h
@@ -29,10 +29,9 @@
 
 #include "RobotAPI/libraries/armem_laser_scans/types.h"
 #include <RobotAPI/libraries/armem/client.h>
+#include <RobotAPI/libraries/armem/client/MemoryNameSystem.h>
 #include <RobotAPI/libraries/armem/client/Reader.h>
 #include <RobotAPI/libraries/armem/client/query/Builder.h>
-#include <RobotAPI/libraries/armem/client/MemoryNameSystem.h>
-
 
 namespace armarx
 {
@@ -62,11 +61,10 @@ namespace armarx::armem::laser_scans::client
     class Reader
     {
     public:
-
-        Reader(armem::client::MemoryNameSystem& memoryNameSystem);
+        Reader();
         virtual ~Reader();
 
-        void connect();
+        void connect(armem::client::MemoryNameSystem& memoryNameSystem);
 
         struct Query
         {
@@ -99,12 +97,9 @@ namespace armarx::armem::laser_scans::client
 
         void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def);
 
-        armarx::armem::client::query::Builder
-        buildQuery(const Query& query) const;
+        armarx::armem::client::query::Builder buildQuery(const Query& query) const;
 
     private:
-
-        armem::client::MemoryNameSystem& memoryNameSystem;
         armem::client::Reader memoryReader;
 
         // Properties
@@ -113,7 +108,6 @@ namespace armarx::armem::laser_scans::client
         } properties;
 
         const std::string propertyPrefix = "mem.vision.laser_scans.";
-
     };
 
-} // namespace armarx::armem::vision::laser_scans::client
+} // namespace armarx::armem::laser_scans::client
diff --git a/source/RobotAPI/libraries/armem_laser_scans/client/common/Writer.cpp b/source/RobotAPI/libraries/armem_laser_scans/client/common/Writer.cpp
index 8b43cef166b729c2bb7a0bb3d64df74268d1975d..771f49c22a76585026dc735f7f9697e1b28abf7b 100644
--- a/source/RobotAPI/libraries/armem_laser_scans/client/common/Writer.cpp
+++ b/source/RobotAPI/libraries/armem_laser_scans/client/common/Writer.cpp
@@ -6,16 +6,14 @@
 #include <RobotAPI/libraries/armem_laser_scans/aron/LaserScan.aron.generated.h>
 #include <RobotAPI/libraries/armem_laser_scans/aron_conversions.h>
 
-
 namespace armarx::armem::laser_scans::client
 {
 
-    Writer::Writer(armem::client::MemoryNameSystem& memoryNameSystem) :
-        memoryNameSystem(memoryNameSystem)
+    Writer::Writer()
     {
     }
-    Writer::~Writer() = default;
 
+    Writer::~Writer() = default;
 
     void
     Writer::registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def)
@@ -23,11 +21,10 @@ namespace armarx::armem::laser_scans::client
         ARMARX_DEBUG << "LaserScansWriter: registerPropertyDefinitions";
 
         const std::string prefix = propertyPrefix;
-
     }
 
     void
-    Writer::connect()
+    Writer::connect(armem::client::MemoryNameSystem& memoryNameSystem)
     {
         // Wait for the memory to become available and add it as dependency.
         ARMARX_IMPORTANT << "LaserScansWriter: Waiting for memory '" << constants::memoryName
diff --git a/source/RobotAPI/libraries/armem_laser_scans/client/common/Writer.h b/source/RobotAPI/libraries/armem_laser_scans/client/common/Writer.h
index 6a75f24b53d13c0ba2d885c588b5c3e944388a57..8b5a90a1867da3d84a225c73e543c694e3d632f3 100644
--- a/source/RobotAPI/libraries/armem_laser_scans/client/common/Writer.h
+++ b/source/RobotAPI/libraries/armem_laser_scans/client/common/Writer.h
@@ -30,7 +30,6 @@
 #include <RobotAPI/libraries/armem/client/MemoryNameSystem.h>
 #include <RobotAPI/libraries/armem/client/Writer.h>
 
-
 namespace armarx::armem::laser_scans::client
 {
 
@@ -48,11 +47,11 @@ namespace armarx::armem::laser_scans::client
     class Writer
     {
     public:
-        Writer(armem::client::MemoryNameSystem& memoryNameSystem);
+        Writer();
         virtual ~Writer();
 
 
-        void connect();
+        void connect(armem::client::MemoryNameSystem& memoryNameSystem);
 
         // MappingDataWriterInterface
         /// to be called in Component::onConnectComponent
@@ -67,7 +66,6 @@ namespace armarx::armem::laser_scans::client
                              const armem::Time& timestamp);
 
     private:
-        armem::client::MemoryNameSystem& memoryNameSystem;
         armem::client::Writer memoryWriter;
 
         // Properties