diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp
index 212869ba6eec58b2c10643eb00daba8ae2f4be54..720304e622303a74a0390c17297b0ec4a17dd91c 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp
@@ -162,7 +162,7 @@ namespace armarx
             aron::type::visit(v, aron_accepted_type);
 
             auto aron_args = aron::data::Dict::DynamicCastAndCheck(v.createdAron);
-            exInfo.parameterization.params = aron_args->toAronDictPtr();
+            exInfo.params = aron_args->toAronDictPtr();
         }
 
         ARMARX_INFO << "Executing skill from GUI: " << selectedSkill.providerName << "/" << selectedSkill.skillName;
diff --git a/source/RobotAPI/interface/skills/SkillManagerInterface.ice b/source/RobotAPI/interface/skills/SkillManagerInterface.ice
index 5798328217b497e30f0f75849cd1f6ec15de1880..5233947af9eaf0696d4e8fcdfa17ec4e6a8a5fbf 100644
--- a/source/RobotAPI/interface/skills/SkillManagerInterface.ice
+++ b/source/RobotAPI/interface/skills/SkillManagerInterface.ice
@@ -22,24 +22,13 @@
 
 #pragma once
 
+#include <RobotAPI/interface/skills/SkillProviderCallbackInterface.ice>
 #include <RobotAPI/interface/skills/SkillProviderInterface.ice>
 
 module armarx
 {
     module skills
     {
-        module callback
-        {
-            module dti
-            {
-                interface SkillProviderCallbackInterface
-                {
-                    // used for callbacks from providers to update their skill execution status
-                    void updateStatusForSkill(provider::dto::SkillStatusUpdate statusUpdate);
-                }
-            }
-        }
-
         module manager
         {
             module dto
@@ -49,7 +38,7 @@ module armarx
                 {
                     string providerName;
                     string skillName;
-                    provider::dto::SkillParameterization parameterization;
+                    aron::data::dto::Dict params;
                 };
 
                 struct ProviderInfo
diff --git a/source/RobotAPI/interface/skills/SkillProviderCallbackInterface.ice b/source/RobotAPI/interface/skills/SkillProviderCallbackInterface.ice
index c525d76d1c7b52efc419d7ae3d7e873f8a491ddc..b41709be3c847167ba48933d8b9a8a2d9e72db16 100644
--- a/source/RobotAPI/interface/skills/SkillProviderCallbackInterface.ice
+++ b/source/RobotAPI/interface/skills/SkillProviderCallbackInterface.ice
@@ -22,10 +22,8 @@
 
 #pragma once
 
-#include <RobotAPI/interface/aron.ice>
 #include <RobotAPI/interface/skills/SkillProviderInterface.ice>
 
-
 module armarx
 {
     module skills
diff --git a/source/RobotAPI/interface/skills/SkillProviderInterface.ice b/source/RobotAPI/interface/skills/SkillProviderInterface.ice
index a3e1bccdebef5d010b7a616e254fe21bd93b2447..ffd6f72816c79ad2f37cda69cafd07563e869c78 100644
--- a/source/RobotAPI/interface/skills/SkillProviderInterface.ice
+++ b/source/RobotAPI/interface/skills/SkillProviderInterface.ice
@@ -98,8 +98,7 @@ module armarx
                 };
 
                 dictionary<string, SkillStatusUpdate> SkillStatusUpdateMap;
-
-            };
+            }
 
             module dti
             {
@@ -109,7 +108,7 @@ module armarx
                     dto::SkillDescriptionMap getSkills();
                     dto::SkillStatusUpdate getSkillExecutionStatus(string name);
                     void executeSkill(dto::SkillExecutionInfo executionInfo);
-                    void abortSkill(string skill);
+                    dto::SkillStatusUpdate abortSkill(string skill);
                 };
 
                 dictionary<string, SkillProviderInterface*> SkillProviderMap;
@@ -118,4 +117,4 @@ module armarx
     }
 }
 
-#include <RobotAPI/interface/skills/SkillProviderCallbackInterface.ice>
+//#include <RobotAPI/interface/skills/SkillProviderCallbackInterface.ice>
diff --git a/source/RobotAPI/libraries/armem_skills/server/segment/SkillEventSegment.cpp b/source/RobotAPI/libraries/armem_skills/server/segment/SkillEventSegment.cpp
index e0e833c35df85b6eee53e32d39269b9da42260c9..43e314fc827148c42a05e89d462964b84fdeed14 100644
--- a/source/RobotAPI/libraries/armem_skills/server/segment/SkillEventSegment.cpp
+++ b/source/RobotAPI/libraries/armem_skills/server/segment/SkillEventSegment.cpp
@@ -28,13 +28,13 @@ namespace armarx::skills::segment
     void SkillEventCoreSegment::addSkillUpdateEvent(const skills::provider::dto::SkillStatusUpdate& update)
     {
         // add update for skill to memory
-        static std::map<armarx::skills::provider::dto::ExecutionStatus, std::string> ExecutionStatus2String = {
-            {armarx::skills::provider::dto::ExecutionStatus::Idle, "Idle"},
-            {armarx::skills::provider::dto::ExecutionStatus::Scheduled, "Scheduled"},
-            {armarx::skills::provider::dto::ExecutionStatus::Running, "Running"},
-            {armarx::skills::provider::dto::ExecutionStatus::Aborted, "Aborted"},
-            {armarx::skills::provider::dto::ExecutionStatus::Failed, "Failed"},
-            {armarx::skills::provider::dto::ExecutionStatus::Succeeded, "Succeeded"}
+        static std::map<armarx::skills::provider::dto::Execution::Status, std::string> ExecutionStatus2String = {
+            {armarx::skills::provider::dto::Execution::Status::Idle, "Idle"},
+            {armarx::skills::provider::dto::Execution::Status::Scheduled, "Scheduled"},
+            {armarx::skills::provider::dto::Execution::Status::Running, "Running"},
+            {armarx::skills::provider::dto::Execution::Status::Aborted, "Aborted"},
+            {armarx::skills::provider::dto::Execution::Status::Failed, "Failed"},
+            {armarx::skills::provider::dto::Execution::Status::Succeeded, "Succeeded"}
         };
 
         // create commit about new update
@@ -44,7 +44,7 @@ namespace armarx::skills::segment
         event.status = ExecutionStatus2String.at(update.status);
 
         aron::data::DictPtr aron_params = nullptr;
-        if (update.usedParameterization.params) aron_params = std::make_shared<aron::data::Dict>(update.usedParameterization.params);
+        if (update.usedParams) aron_params = std::make_shared<aron::data::Dict>(update.usedParams);
 
         aron::data::DictPtr aron_data = nullptr;
         if (update.data) aron_data = std::make_shared<aron::data::Dict>(update.data);
diff --git a/source/RobotAPI/libraries/armem_skills/server/segment/SkillExecutionRequestSegment.cpp b/source/RobotAPI/libraries/armem_skills/server/segment/SkillExecutionRequestSegment.cpp
index 1f6e8c377662ed19e5abcd557e0f8095ae87d1b8..dce0a7f051c96ead6968faef643ed261735abb9d 100644
--- a/source/RobotAPI/libraries/armem_skills/server/segment/SkillExecutionRequestSegment.cpp
+++ b/source/RobotAPI/libraries/armem_skills/server/segment/SkillExecutionRequestSegment.cpp
@@ -40,7 +40,7 @@ namespace armarx::skills::segment
         skills::manager::dto::SkillExecutionInfo info;
         info.providerName = request.providerName;
         info.skillName = request.skillName;
-        info.parameterization.params = params->toAronDictPtr();
+        info.params = params->toAronDictPtr();
         return info;
     }
 
@@ -59,7 +59,7 @@ namespace armarx::skills::segment
         auto aron = request.toAron();
 
         aron::data::DictPtr aron_params = nullptr;
-        if (info.parameterization.params) aron_params = std::make_shared<aron::data::Dict>(info.parameterization.params);
+        if (info.params) aron_params = std::make_shared<aron::data::Dict>(info.params);
 
         aron->addElement("params", aron_params); // todo add as any type
 
diff --git a/source/RobotAPI/libraries/skills/CMakeLists.txt b/source/RobotAPI/libraries/skills/CMakeLists.txt
index 21406094ee27a92de936a9d2844eef0100f46020..416121d847e6cf9dab5cbb280fa0d764fbf263c0 100644
--- a/source/RobotAPI/libraries/skills/CMakeLists.txt
+++ b/source/RobotAPI/libraries/skills/CMakeLists.txt
@@ -17,7 +17,6 @@ armarx_add_library(
         ./provider/Skill.cpp
         ./provider/SpecializedSkill.cpp
         ./provider/SkillDescription.cpp
-        ./provider/SkillParameterization.cpp
         ./provider/SkillStatusUpdate.cpp
         ./provider/helper/LambdaSkillImplementation.cpp
         ./provider/detail/SkillImplementationWrapper.cpp
@@ -27,7 +26,6 @@ armarx_add_library(
         ./provider/Skill.h
         ./provider/SpecializedSkill.h
         ./provider/SkillDescription.h
-        ./provider/SkillParameterization.h
         ./provider/SkillStatusUpdate.h
         ./provider/helper/LambdaSkillImplementation.h
         ./provider/detail/SkillImplementationWrapper.h
diff --git a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp
index 038ed5999e34f691c2c2c6d1b12400471726deb1..514f11ad7712776cc01ac33c71f3122510d78c01 100644
--- a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp
@@ -56,7 +56,7 @@ namespace armarx
             skills::provider::dto::SkillExecutionInfo exInfo;
             exInfo.skillName = info.skillName;
             exInfo.callbackInterface = myPrx;
-            exInfo.parameterization = info.parameterization;
+            exInfo.params = info.params;
             it->second->executeSkill(exInfo);
         }
         else
diff --git a/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp b/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp
index 321273b10e2228efe206fd0424a40d0215a0fbfb..30bbcc86a9764465dedaa63b314aa3da4ae8c451 100644
--- a/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp
@@ -120,9 +120,9 @@ namespace armarx
         impl.statusInfo.statusUpdate.usedCallbackInterface = info.callbackInterface;
         impl.statusInfo.statusUpdate.skillName = info.skillName;
         impl.statusInfo.statusUpdate.providerName = getName();
-        if (info.parameterization.params)
+        if (info.params)
         {
-            impl.statusInfo.statusUpdate.usedParameterization.params = std::make_shared<aron::data::Dict>(info.parameterization.params);
+            impl.statusInfo.statusUpdate.usedParameterization = std::make_shared<aron::data::Dict>(info.params);
         }
 
         // make sure thread is started
@@ -160,10 +160,10 @@ namespace armarx
             impl.stoppedCheck.join();
         }
 
-        if (statusUpdate.status != skills::provider::dto::ExecutionStatus::Succeeded &&
-                statusUpdate.status != skills::provider::dto::ExecutionStatus::Failed)
+        if (statusUpdate.status != skills::provider::dto::Execution::Status::Succeeded &&
+                statusUpdate.status != skills::provider::dto::Execution::Status::Failed)
         {
-            impl.statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Aborted;
+            impl.statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Aborted;
         }
 
         return statusUpdate.toIce();
diff --git a/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.cpp b/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.cpp
index c55eaf973e7d7e8c833e11f23351894c45c630d2..f19d037dc3c24993f2a87d651121e2855128041e 100644
--- a/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.cpp
+++ b/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.cpp
@@ -15,7 +15,7 @@ namespace armarx
             }
             ret.status = status;
             ret.usedCallbackInterface = usedCallbackInterface;
-            ret.usedParameterization = usedParameterization.toIce();
+            ret.usedParams = usedParameterization->toAronDictPtr();
             return ret;
         }
     }
diff --git a/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.h b/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.h
index 439adf1150fe472b83af8aba81e33039be57d3b1..5385c6f0da4d2d1cc86ac664607903652c8a57b2 100644
--- a/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.h
+++ b/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.h
@@ -3,8 +3,7 @@
 #include <string>
 #include <vector>
 
-#include "SkillParameterization.h"
-
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 #include <RobotAPI/interface/skills/SkillProviderInterface.h>
 
 namespace armarx
@@ -15,9 +14,9 @@ namespace armarx
         {
             std::string                                         providerName;
             std::string                                         skillName;
-            SkillParameterization                               usedParameterization;
+            aron::data::DictPtr                                 usedParameterization;
             callback::dti::SkillProviderCallbackInterfacePrx    usedCallbackInterface;
-            provider::dto::ExecutionStatus                      status;
+            provider::dto::Execution::Status                    status;
             aron::data::DictPtr                                 data;
 
             provider::dto::SkillStatusUpdate toIce() const;
diff --git a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp
index 09ecd676ca321cdbbc705cef431646cc0b7a931f..4160489c075261afaf522f8c9b311ea349f7ebb6 100644
--- a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp
+++ b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp
@@ -35,7 +35,7 @@ namespace armarx
             std::lock_guard l(statusInfo.skillStatusMutex);
             statusInfo.started = false;
             statusInfo.stopped = false;
-            statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Idle;
+            statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Idle;
             statusInfo.statusUpdate.data = nullptr;
             skillStarted = IceUtil::Time::now().toMilliSeconds();
             skill->reset();
@@ -47,7 +47,7 @@ namespace armarx
             statusInfo.started = true;
 
             // get params and setup variables
-            auto& aron_params = statusInfo.statusUpdate.usedParameterization.params;
+            auto& aron_params = statusInfo.statusUpdate.usedParameterization;
             if (not(aron_params) && description.acceptedType)
             {
                 throw armarx::LocalException("The Skill '" + description.skillName + "' requires a type but no params are NULL.");
@@ -58,7 +58,7 @@ namespace armarx
                 // set scheduled
                 {
                     std::lock_guard l(statusInfo.skillStatusMutex);
-                    statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Scheduled;
+                    statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Scheduled;
 
                     // do callback
                     updateStatusCallback();
@@ -68,7 +68,7 @@ namespace armarx
                 // execute
                 {
                     std::lock_guard l(statusInfo.skillStatusMutex);
-                    statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Running;
+                    statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Running;
                     updateStatusCallback();
                 }
 
@@ -90,7 +90,7 @@ namespace armarx
 
                 {
                     std::lock_guard l(statusInfo.skillStatusMutex);
-                    statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Succeeded;
+                    statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Succeeded;
                     updateStatusCallback();
                 }
             }
@@ -99,7 +99,7 @@ namespace armarx
                 ARMARX_WARNING_S << "Skill " << description.skillName << " died with exception:\n" << ex.what();
 
                 std::lock_guard l(statusInfo.skillStatusMutex);
-                statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Failed;
+                statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Failed;
                 updateStatusCallback();
             }