diff --git a/source/RobotAPI/components/units/RobotUnit/ControlTargets/ControlTargetBase.h b/source/RobotAPI/components/units/RobotUnit/ControlTargets/ControlTargetBase.h
index d997104446ffea9aec162cd559541acf78e8def8..cf19d2b9f4cf9583bbd5e75e82b71f7cca6e8d0d 100644
--- a/source/RobotAPI/components/units/RobotUnit/ControlTargets/ControlTargetBase.h
+++ b/source/RobotAPI/components/units/RobotUnit/ControlTargets/ControlTargetBase.h
@@ -26,8 +26,7 @@
 #include <RobotAPI/components/units/RobotUnit//util/HeterogenousContinuousContainerMacros.h>
 #include <RobotAPI/components/units/RobotUnit/ControlModes.h>
 
-//#include <ArmarXCore/interface/observers/VariantBase.h>
-
+#include <IceUtil/Time.h>
 #include <Ice/Handle.h>
 
 #include <memory>
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnit.h b/source/RobotAPI/components/units/RobotUnit/RobotUnit.h
index c2b35013a66e792a6fef2a2e02f6beef429e1683..22ffd80aefe3191b42626aa0af7875a30188b14e 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnit.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnit.h
@@ -23,7 +23,10 @@
 #pragma once
 
 #include "RobotUnitModules/RobotUnitModules.h"
-//#include "NJointControllers/NJointControllerBase.h"
+
+// This include is not necessary but a lot of other files rely on it being included here
+// Can be removed if other files include what they use
+#include "NJointControllers/NJointControllerBase.h"
 
 /**
 * @defgroup Library-RobotUnit RobotUnit
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp
index 4e38d6ab344958c06fa6775f2ac24843ceb55a6a..c07f2d42c7d1d17def0b67a8c4866fe21384284e 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp
@@ -129,13 +129,6 @@ namespace armarx::RobotUnitModule
 
 namespace armarx::RobotUnitModule
 {
-    const std::map<std::string, NJointControllerBasePtr>& Publisher::getNJointControllers()
-    {
-        ARMARX_TRACE;
-        throwIfInControlThread(BOOST_CURRENT_FUNCTION);
-        return ControllerManagementAttorneyForPublisher::GetNJointControllers(this);
-    }
-
     TimedVariantPtr Publisher::publishNJointClassNames()
     {
         ARMARX_TRACE;
@@ -172,7 +165,7 @@ namespace armarx::RobotUnitModule
         auto debugDrawerBatchPrx = debugDrawerPrx->ice_batchOneway();
         auto debugObserverBatchPrx = debugObserverPrx->ice_batchOneway();
         NJointControllerStatusSeq allStatus;
-        for (const auto& pair : getNJointControllers())
+        for (const auto& pair : ControllerManagementAttorneyForPublisher::GetNJointControllers(this))
         {
             const auto begInner = TimeUtil::GetTime(true);
             const NJointControllerBasePtr& nJointCtrl = pair.second;
@@ -495,7 +488,7 @@ namespace armarx::RobotUnitModule
             std::this_thread::sleep_for(std::chrono::milliseconds {100});
             ARMARX_DEBUG << "shutting down publisher task done";
         }
-        for (const auto& pair : getNJointControllers())
+        for (const auto& pair : ControllerManagementAttorneyForPublisher::GetNJointControllers(this))
         {
             ARMARX_DEBUG << "forcing deactivation of publishing for " << pair.first;
             NJointControllerAttorneyForPublisher::DeactivatePublishing(pair.second, debugDrawerPrx, debugObserverPrx);
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.h b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.h
index 5844b7ba9efb2bbb4bdcd0f0370ad3def34cddd5..9b68b4c7aeffc6ef77b3aa5e0c2d9ca20c1c8677 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.h
@@ -164,11 +164,6 @@ namespace armarx::RobotUnitModule
         // //////////////////////////////////// implementation //////////////////////////////////// //
         // //////////////////////////////////////////////////////////////////////////////////////// //
     private:
-        /**
-         * @brief Returns a map containing all current NJointControllers.
-         * @return A map containing all current NJointControllers.
-         */
-        const std::map<std::string, NJointControllerBasePtr>& getNJointControllers();
         /**
          * @brief Returns the used RobotUnitObserver
          * @return The used RobotUnitObserver
diff --git a/source/RobotAPI/components/units/RobotUnit/SensorValues/SensorValueBase.h b/source/RobotAPI/components/units/RobotUnit/SensorValues/SensorValueBase.h
index 7afa43be267682cfd23bf38eccf073b54f6cdca3..021ab483d56dc0536e28004102fafaacd629677f 100644
--- a/source/RobotAPI/components/units/RobotUnit/SensorValues/SensorValueBase.h
+++ b/source/RobotAPI/components/units/RobotUnit/SensorValues/SensorValueBase.h
@@ -26,11 +26,10 @@
 #include <string>
 #include <map>
 
-#include <ArmarXCore/observers/variant/TimedVariant.h>
+#include <ArmarXCore/util/CPPUtility/TemplateMetaProgramming.h>
 
-#include "../util/HeterogenousContinuousContainerMacros.h"
-
-#include "../util.h"
+#include <RobotAPI/components/units/RobotUnit/util/introspection/ClassMemberInfo.h>
+#include <RobotAPI/components/units/RobotUnit/util/HeterogenousContinuousContainerMacros.h>
 
 namespace armarx
 {
diff --git a/source/RobotAPI/components/units/RobotUnit/util/introspection/DataFieldsInfo.h b/source/RobotAPI/components/units/RobotUnit/util/introspection/DataFieldsInfo.h
index 29fb7883065ee2f18e68dd5c909e17e8f8d8246c..34f53f63744ff7939c1cfcf94526052d0dad2d71 100644
--- a/source/RobotAPI/components/units/RobotUnit/util/introspection/DataFieldsInfo.h
+++ b/source/RobotAPI/components/units/RobotUnit/util/introspection/DataFieldsInfo.h
@@ -25,7 +25,6 @@
 
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 #include <ArmarXCore/util/CPPUtility/trace.h>
-#include <ArmarXCore/core/util/StringHelpers.h>
 #include <ArmarXCore/observers/variant/TimedVariant.h>
 #include <ArmarXCore/interface/observers/VariantBase.h>