diff --git a/source/RobotAPI/components/armem/server/GraspMemory/GraspMemory.cpp b/source/RobotAPI/components/armem/server/GraspMemory/GraspMemory.cpp
index 23f89478661eeaee41e8c69410d0245ac0c3f850..034ad0f254a1f0a92a89797f282357d806ec46e4 100644
--- a/source/RobotAPI/components/armem/server/GraspMemory/GraspMemory.cpp
+++ b/source/RobotAPI/components/armem/server/GraspMemory/GraspMemory.cpp
@@ -34,9 +34,9 @@ namespace armarx::armem::server::grasp
         workingMemory.name() = memoryName;
 
         workingMemory.addCoreSegment("GraspCandidate",
-                                     armarx::grasping::arondto::GraspCandidate::toInitialAronType());
+                                     armarx::grasping::arondto::GraspCandidate::toAronType());
         workingMemory.addCoreSegment("BimanualGraspCandidate",
-                                     armarx::grasping::arondto::BimanualGraspCandidate::toInitialAronType());
+                                     armarx::grasping::arondto::BimanualGraspCandidate::toAronType());
     }
 
     void GraspMemory::onConnectComponent()
diff --git a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp
index 7b870dd1afca4abae31288d55d1647ad5b0463a0..709b9c0921d57e30f43e22544c4e4b572c1d181f 100644
--- a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp
+++ b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp
@@ -1,13 +1,14 @@
 #include "GraspCandidateWriter.h"
 #include <RobotAPI/libraries/GraspingUtility/aron/GraspCandidate.aron.generated.h>
 #include <RobotAPI/libraries/GraspingUtility/aron_conversions.h>
+#include <RobotAPI/libraries/armem/core/error/mns.h>
 
 namespace armarx::armem
 {
 
 
-    GraspCandidateWriter::GraspCandidateWriter(armem::ClientWriterComponentPluginUser& component)
-        : component(component)
+    GraspCandidateWriter::GraspCandidateWriter(armem::client::MemoryNameSystem& memoryNameSystem)
+        : memoryNameSystem(memoryNameSystem)
     {
     }
 
@@ -16,17 +17,17 @@ namespace armarx::armem
         // Wait for the memory to become available and add it as dependency.
         ARMARX_IMPORTANT << "GraspCandidateWriter: Waiting for memory '" << properties.memoryName
                          << "' ...";
-        auto result = component.useMemory(properties.memoryName);
-        if (not result.success)
+        try
         {
-            ARMARX_ERROR << result.errorMessage;
+            memoryWriter = memoryNameSystem.useWriter(properties.memoryName);
+            ARMARX_IMPORTANT << "GraspCandidateWriter: Connected to memory '" << properties.memoryName << "'";
+        }
+        catch (const armem::error::CouldNotResolveMemoryServer& e)
+        {
+            ARMARX_ERROR << e.what();
             return;
         }
 
-        ARMARX_IMPORTANT << "GraspCandidateWriter: Connected to memory '" << properties.memoryName;
-
-        memoryWriter.setWritingMemory(result.proxy);
-
     }
 
     void GraspCandidateWriter::registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def)
diff --git a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h
index 10a5027479fe990e7614055ea028866cdaec74b7..a38ab8f935b656c6fe5546282df3dd8b3b7cd286 100644
--- a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h
+++ b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h
@@ -12,7 +12,7 @@ namespace armarx::armem
     class GraspCandidateWriter
     {
     public:
-        GraspCandidateWriter(armem::ClientWriterComponentPluginUser& component);
+        GraspCandidateWriter(armem::client::MemoryNameSystem& memoryNameSystem);
 
         void connect();
 
@@ -36,6 +36,8 @@ namespace armarx::armem
                             const std::string& providerName, const armem::Time& timestamp,
                             std::string coreMemoryName);
 
+        armem::client::MemoryNameSystem& memoryNameSystem;
+
         armem::client::Writer memoryWriter;
 
         struct Properties
@@ -50,8 +52,6 @@ namespace armarx::armem
 
         const std::string propertyPrefix = "mem.grasping.";
 
-        armem::ClientWriterComponentPluginUser& component;
-
     };
 
 
diff --git a/source/RobotAPI/libraries/GraspingUtility/aron_conversions.cpp b/source/RobotAPI/libraries/GraspingUtility/aron_conversions.cpp
index d70ff63103ddcbaa7ee3f6babb21f19b154c9ffc..2504df79b3b63cb7f6ff7e7a0831b224023c5226 100644
--- a/source/RobotAPI/libraries/GraspingUtility/aron_conversions.cpp
+++ b/source/RobotAPI/libraries/GraspingUtility/aron_conversions.cpp
@@ -116,7 +116,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::GraspCandidate& dto,
     else
     {
         dto.executionHintsValid = false;
-        dto.executionHints.initialize();
+        dto.executionHints.toAron();
     }
     dto.graspPose = fromIce(bo.graspPose);
     dto.graspSuccessProbability = bo.graspSuccessProbability;
@@ -131,7 +131,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::GraspCandidate& dto,
     else
     {
         dto.reachabilityInfoValid = false;
-        dto.reachabilityInfo.initialize();
+        dto.reachabilityInfo.toAron();
     }
     dto.robotPose = fromIce(bo.robotPose);
     dto.side = bo.side;
@@ -144,7 +144,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::GraspCandidate& dto,
     else
     {
         dto.sourceInfoValid = false;
-        dto.sourceInfo.initialize();
+        dto.sourceInfo.toAron();
     }
     dto.targetFrame = bo.targetFrame;
 }
@@ -226,7 +226,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate&
     else
     {
         dto.executionHintsRightValid = false;
-        dto.executionHintsRight.initialize();
+        dto.executionHintsRight.toAron();
     }
     if (bo.executionHintsLeft)
     {
@@ -236,7 +236,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate&
     else
     {
         dto.executionHintsLeftValid = false;
-        dto.executionHintsLeft.initialize();
+        dto.executionHintsLeft.toAron();
 
     }
     dto.graspPoseRight = fromIce(bo.graspPoseRight);
@@ -252,7 +252,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate&
     else
     {
         dto.reachabilityInfoRightValid = false;
-        dto.reachabilityInfoRight.initialize();
+        dto.reachabilityInfoRight.toAron();
     }
     if (bo.reachabilityInfoLeft)
     {
@@ -262,7 +262,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate&
     else
     {
         dto.reachabilityInfoLeftValid = false;
-        dto.reachabilityInfoLeft.initialize();
+        dto.reachabilityInfoLeft.toAron();
     }
     dto.robotPose = fromIce(bo.robotPose);
     dto.sourceFrame = bo.sourceFrame;
@@ -274,7 +274,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate&
     else
     {
         dto.sourceInfoValid = false;
-        dto.sourceInfo.initialize();
+        dto.sourceInfo.toAron();
     }
     dto.targetFrame = bo.targetFrame;
     dto.inwardsVectorRight = fromIce(bo.inwardsVectorRight);