diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp
index a8c58b4aee855fad6c6329357bace107f44c143e..cab9f45f9f77ad65fe7eff3970728aeea118006d 100644
--- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp
+++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp
@@ -161,13 +161,7 @@ namespace armarx::skills::gui
 
                 if (found)
                 {
-                    for (std::pair<skills::SkillStatus, std::string> i : EXECUTION_STATUS_TO_STRING)
-                    {
-                        if (i.first == statusUpdate.status)
-                        {
-                            found->setText(3, QString::fromStdString(i.second));
-                        }
-                    }
+                    found->updateItem(statusUpdate.status);
 
                     break;
                 }
@@ -178,17 +172,7 @@ namespace armarx::skills::gui
                 // TODO: Sort to executor!
                 auto item = new SkillExecutionTreeWidgetItem(executionId, memory);
 
-                item->setText(
-                    0, QString::fromStdString(executionId.executionStartedTime.toDateTimeString()));
-                item->setText(1, QString::fromStdString(executionId.executorName));
-                item->setText(2, QString::fromStdString(executionId.skillId.toString()));
-                for (std::pair<skills::SkillStatus, std::string> i : EXECUTION_STATUS_TO_STRING)
-                {
-                    if (i.first == statusUpdate.status)
-                    {
-                        item->setText(3, QString::fromStdString(i.second));
-                    }
-                }
+                item->updateItem(statusUpdate.status);
 
                 this->insertTopLevelItem(0, item);
             }
diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.h b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.h
index 0c7e2ffba3b9328ded3e4f8720e4c9da06210158..795045302b4b47655e196e4cea566d53140f90d6 100644
--- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.h
+++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.h
@@ -10,18 +10,6 @@
 namespace armarx::skills::gui
 {
 
-    static const std::map<skills::SkillStatus, std::string> EXECUTION_STATUS_TO_STRING = {
-        // Main states
-        {skills::SkillStatus::Constructing, "Constructing"},
-        {skills::SkillStatus::Initializing, "Initializing"},
-        {skills::SkillStatus::Preparing, "Preparing"},
-        {skills::SkillStatus::Running, "Running"},
-
-        // Terminating
-        {skills::SkillStatus::Aborted, "Aborted"},
-        {skills::SkillStatus::Failed, "Failed"},
-        {skills::SkillStatus::Succeeded, "Succeeded"}};
-
     class SkillExecutionTreeWidget : public QTreeWidget, public MemoryCommunicatorBase
     {
     public:
diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.cpp b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.cpp
index 924aea9b546e715745705c1ab612926b7b804444..e1b054e6fc8f87f67e906e4e09a86cacd3837bd3 100644
--- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.cpp
+++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.cpp
@@ -34,4 +34,25 @@ namespace armarx::skills::gui
     {
         return this->executionId;
     }
+
+    void
+    SkillExecutionTreeWidgetItem::updateItem(skills::SkillStatus& skillStatus)
+    {
+        this->setText(0,
+                      QString::fromStdString(executionId.executionStartedTime.toDateTimeString()));
+        this->setText(1, QString::fromStdString(executionId.executorName));
+        this->setText(2, QString::fromStdString(executionId.skillId.toString()));
+        for (std::pair<skills::SkillStatus, std::string> i : EXECUTION_STATUS_TO_STRING)
+        {
+            if (i.first == skillStatus)
+            {
+                this->setText(3, QString::fromStdString(i.second));
+            }
+        }
+    }
+
+    void SkillExecutionTreeWidgetItem::setupUi()
+    {
+
+    }
 } // namespace armarx::skills::gui
diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.h b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.h
index e46b2eb7219337028f645eb833770429a1c5d0b1..a9a6dd957b4b3500a3a17d9919681fd37da9eae5 100644
--- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.h
+++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.h
@@ -11,6 +11,18 @@
 
 namespace armarx::skills::gui
 {
+    static const std::map<skills::SkillStatus, std::string> EXECUTION_STATUS_TO_STRING = {
+        // Main states
+        {skills::SkillStatus::Constructing, "Constructing"},
+        {skills::SkillStatus::Initializing, "Initializing"},
+        {skills::SkillStatus::Preparing, "Preparing"},
+        {skills::SkillStatus::Running, "Running"},
+
+        // Terminating
+        {skills::SkillStatus::Aborted, "Aborted"},
+        {skills::SkillStatus::Failed, "Failed"},
+        {skills::SkillStatus::Succeeded, "Succeeded"}};
+
     class SkillExecutionTreeWidgetItem : public QTreeWidgetItem, public MemoryCommunicatorBase
     {
     public:
@@ -21,6 +33,7 @@ namespace armarx::skills::gui
                                      std::shared_ptr<SkillManagerWrapper> _memory) :
             MemoryCommunicatorBase(_memory), executionId(id)
         {
+            setupUi()
         }
 
         static SkillExecutionTreeWidgetItem*
@@ -29,10 +42,11 @@ namespace armarx::skills::gui
 
         skills::SkillExecutionID getExecutionId();
 
+        void updateItem(skills::SkillStatus& skillStatus);
+
     protected:
         skills::SkillExecutionID executionId;
 
-
     private:
         void setupUi();
     };