diff --git a/source/ArmarXGui/applications/ArmarXGui/Widgets/EmergencyStopWidget.h b/source/ArmarXGui/applications/ArmarXGui/Widgets/EmergencyStopWidget.h
index bd11a49269096e91c1ddddd6cc6024632e8b7636..da42677ec7b587a7c52701eab049e2178ac93ab5 100644
--- a/source/ArmarXGui/applications/ArmarXGui/Widgets/EmergencyStopWidget.h
+++ b/source/ArmarXGui/applications/ArmarXGui/Widgets/EmergencyStopWidget.h
@@ -74,7 +74,11 @@ namespace armarx
 
         // ArmarXWidgetController interface
     public:
-        QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "EmergencyStopWidget";
         }
diff --git a/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.cpp b/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.cpp
index 7fb5028b26db3846675a9bf25d7814389620a1ef..013708f506eb802e24da0923d54cf350131d1dd3 100644
--- a/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.cpp
+++ b/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.cpp
@@ -450,12 +450,6 @@ void Viewer3DWidget::configDialogLoadSettings()
     configDialogApplySettings();
 }
 
-
-QIcon armarx::Viewer3DWidget::getWidgetIcon() const
-{
-    return QIcon(":icons/Outline-3D.png");
-}
-
 QPointer<QWidget> Viewer3DWidget::getWidget()
 {
     if (!__widget)
diff --git a/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.h b/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.h
index f9e93c1bfb7219fac84419431b1954fbfabedd38..9cd0e99c2cd1b37e8202c6b21dfc123cd0369f4f 100644
--- a/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.h
+++ b/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.h
@@ -56,7 +56,11 @@ namespace armarx
         ~Viewer3DWidget();
 
         // inherited from ArmarXWidgetController
-        QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return ARMARX_VIEWER_NAME;
         }
@@ -108,7 +112,14 @@ namespace armarx
 
         // ArmarXWidgetController interface
     public:
-        QIcon getWidgetIcon() const;
+        virtual QIcon getWidgetIcon() const override
+        {
+            return GetWidgetIcon();
+        }
+        static QIcon GetWidgetIcon()
+        {
+            return QIcon(":icons/Outline-3D.png");
+        }
 
         // ArmarXWidgetController interface
     public:
diff --git a/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.cpp b/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.cpp
index d0d879dce0e231c7c095520f1928a3bb5b760f8a..158b747dc1810d1d0eb8a3e7a0847b4f7046eae4 100644
--- a/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.cpp
+++ b/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.cpp
@@ -211,9 +211,3 @@ void ClockWidgetController::speedChanged(double newSpeed)
         timeServerPtr->setSpeed(newSpeed);
     }
 }
-
-
-QIcon armarx::ClockWidgetController::getWidgetIcon() const
-{
-    return QIcon(":icons/Time-And-Date-Clock-icon.png");
-}
diff --git a/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.h b/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.h
index 2651f0d163f901a3a3296c600165872de055b9fc..b4e2c49e91ee25559d779b6c1cdb8a960a30721f 100644
--- a/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.h
+++ b/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.h
@@ -88,7 +88,11 @@ namespace armarx
          * Returns the Widget name displayed in the ArmarXGui to create an
          * instance of this class.
          */
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "Clock";
         }
@@ -137,7 +141,14 @@ namespace armarx
 
         // ArmarXWidgetController interface
     public:
-        QIcon getWidgetIcon() const;
+        virtual QIcon getWidgetIcon() const override
+        {
+            return GetWidgetIcon();
+        }
+        static QIcon GetWidgetIcon()
+        {
+            return QIcon(":icons/Time-And-Date-Clock-icon.png");
+        }
     };
 }
 
diff --git a/source/ArmarXGui/gui-plugins/ConditionViewerPlugin/ConditionViewerWidgetController.h b/source/ArmarXGui/gui-plugins/ConditionViewerPlugin/ConditionViewerWidgetController.h
index 58f8ed8c6ce481ae1f61e6a3ed2292cf60892c64..1202697de01371e6974a69cef4b8cfd4895ef6de 100644
--- a/source/ArmarXGui/gui-plugins/ConditionViewerPlugin/ConditionViewerWidgetController.h
+++ b/source/ArmarXGui/gui-plugins/ConditionViewerPlugin/ConditionViewerWidgetController.h
@@ -65,7 +65,11 @@ namespace armarx
 
         // inherited from ArmarXWidget
         QPointer<QWidget> getWidget();
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "Observers.ConditionViewer";
         }
diff --git a/source/ArmarXGui/gui-plugins/IceProxy/IceProxyWidgetController.h b/source/ArmarXGui/gui-plugins/IceProxy/IceProxyWidgetController.h
index f2ce1b6d45dbba82656830962d903a26ff187a86..10f250de1cba6e1e7e66fe47c8b1f94ee030a3db 100644
--- a/source/ArmarXGui/gui-plugins/IceProxy/IceProxyWidgetController.h
+++ b/source/ArmarXGui/gui-plugins/IceProxy/IceProxyWidgetController.h
@@ -83,7 +83,11 @@ namespace armarx
          * Returns the Widget name displayed in the ArmarXGui to create an
          * instance of this class.
          */
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "Meta.IceProxy";
         }
diff --git a/source/ArmarXGui/gui-plugins/LoggingPlugin/ArmarXLogViewer/LogViewer.h b/source/ArmarXGui/gui-plugins/LoggingPlugin/ArmarXLogViewer/LogViewer.h
index 44f9ba18b7d425ffa08d29ac31704cd23fce4860..da2f5a09568585eaa13b6553b88f49d8effc7166 100644
--- a/source/ArmarXGui/gui-plugins/LoggingPlugin/ArmarXLogViewer/LogViewer.h
+++ b/source/ArmarXGui/gui-plugins/LoggingPlugin/ArmarXLogViewer/LogViewer.h
@@ -62,15 +62,27 @@ namespace armarx
 
         void loadSettings(QSettings* settings);
         void saveSettings(QSettings* settings);
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        virtual QIcon getWidgetIcon() const override
+        {
+            return GetWidgetIcon();
+        }
+        virtual QIcon getWidgetCategoryIcon() const override
+        {
+            return GetWidgetCategoryIcon();
+        }
+        static QString GetWidgetName()
         {
             return "Meta.LogViewer";
         }
-        virtual QIcon getWidgetIcon() const
+        static QIcon GetWidgetIcon()
         {
             return QIcon("://icons/papyrus.svg");
         }
-        virtual QIcon getWidgetCategoryIcon() const
+        static QIcon GetWidgetCategoryIcon()
         {
             return QIcon("://icons/papyrus.svg");
         }
diff --git a/source/ArmarXGui/gui-plugins/ObserverPropertiesPlugin/ObserverWidgetController.h b/source/ArmarXGui/gui-plugins/ObserverPropertiesPlugin/ObserverWidgetController.h
index 74911a4c07257f485c8b29ee2ec828aef2fca7fc..321521904518d7dbe7e79b4bcbfd41040ea63b70 100644
--- a/source/ArmarXGui/gui-plugins/ObserverPropertiesPlugin/ObserverWidgetController.h
+++ b/source/ArmarXGui/gui-plugins/ObserverPropertiesPlugin/ObserverWidgetController.h
@@ -69,15 +69,27 @@ namespace armarx
 
         // inherited from ArmarXWidget
         QPointer<QWidget> getWidget();
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        virtual QIcon getWidgetIcon() const override
+        {
+            return GetWidgetIcon();
+        }
+        virtual QIcon getWidgetCategoryIcon() const override
+        {
+            return GetWidgetCategoryIcon();
+        }
+        static QString GetWidgetName()
         {
             return "Observers.ObserverView";
         }
-        virtual QIcon getWidgetIcon() const
+        static QIcon GetWidgetIcon()
         {
             return QIcon("://icons/binoculars.svg");
         }
-        virtual QIcon getWidgetCategoryIcon() const
+        static QIcon GetWidgetCategoryIcon()
         {
             return QIcon("://icons/binoculars.svg");
         }
diff --git a/source/ArmarXGui/gui-plugins/PlotterPlugin/ArmarXPlotter.h b/source/ArmarXGui/gui-plugins/PlotterPlugin/ArmarXPlotter.h
index d6a1d5e45cf9b60fa8d445b5a602fd63caf9fe82..0a4c57a045b067b05f70988f4ea297a235389a07 100644
--- a/source/ArmarXGui/gui-plugins/PlotterPlugin/ArmarXPlotter.h
+++ b/source/ArmarXGui/gui-plugins/PlotterPlugin/ArmarXPlotter.h
@@ -127,11 +127,19 @@ namespace armarx
         explicit ArmarXPlotter();
         ~ArmarXPlotter();
         //inherited from ArmarXWidget
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        virtual QIcon getWidgetIcon() const override
+        {
+            return GetWidgetIcon();
+        }
+        static QString GetWidgetName()
         {
             return "Observers.LivePlotter";
         }
-        virtual QIcon getWidgetIcon() const
+        static QIcon GetWidgetIcon()
         {
             return QIcon("://icons/combo_chart.svg");
         }
diff --git a/source/ArmarXGui/gui-plugins/PlotterPlugin/StaticPlotterWidgetController.h b/source/ArmarXGui/gui-plugins/PlotterPlugin/StaticPlotterWidgetController.h
index 7be364273564737a661ad055915a09618bf428fb..2ea7be5eeeff6ec26b02bc95f6965b7323349381 100644
--- a/source/ArmarXGui/gui-plugins/PlotterPlugin/StaticPlotterWidgetController.h
+++ b/source/ArmarXGui/gui-plugins/PlotterPlugin/StaticPlotterWidgetController.h
@@ -59,7 +59,11 @@ namespace armarx
         void showCurve(QwtPlotItem* item, bool on);
         void clearPlots();
     public:
-        QString getWidgetName() const override
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "Util.Plotter";
         }
diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp
index fa70a46971a281fbccb07c19886020b4c4525f3d..d4536bdcddd952965366f883b90b4c5002ae2952 100644
--- a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp
+++ b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp
@@ -307,8 +307,3 @@ void ScenarioManagerWidgetController::editMode(bool edit)
     widget.detailedApplicationView->setVisible(edit);
     widget.applicationDatabase->setVisible(edit);
 }
-
-QIcon armarx::ScenarioManagerWidgetController::getWidgetIcon() const
-{
-    return QIcon(":icons/ArmarX_Play_Store.svg");
-}
diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h
index 394b1375aa7b2e4f23f42afc63d5452ca3601ce3..291ee81f50b8042b2de1557e5bcc97548f8d081c 100644
--- a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h
+++ b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h
@@ -90,7 +90,11 @@ namespace armarx
          * Returns the Widget name displayed in the ArmarXGui to create an
          * instance of this class.
          */
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "Meta.ScenarioManager";
         }
@@ -146,7 +150,14 @@ namespace armarx
         QPointer<QWidget> getCustomTitlebarWidget(QWidget* parent);
         // ArmarXWidgetController interface
     public:
-        QIcon getWidgetIcon() const;
+        virtual QIcon getWidgetIcon() const override
+        {
+            return GetWidgetIcon();
+        }
+        static QIcon GetWidgetIcon()
+        {
+            return QIcon(":icons/ArmarX_Play_Store.svg");
+        }
     };
 }
 
diff --git a/source/ArmarXGui/gui-plugins/StatechartEditorPlugin/StatechartEditorController.h b/source/ArmarXGui/gui-plugins/StatechartEditorPlugin/StatechartEditorController.h
index 46aebb5eb37f3d9853279d2bc1e09a6851bfaa86..9ec7e2e2ef6b220c27a6c239a95ec12f1ce6377f 100644
--- a/source/ArmarXGui/gui-plugins/StatechartEditorPlugin/StatechartEditorController.h
+++ b/source/ArmarXGui/gui-plugins/StatechartEditorPlugin/StatechartEditorController.h
@@ -167,15 +167,27 @@ namespace armarx
         void onExitComponent();
 
         // inherited of ArmarXWidget
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "Statecharts.StatechartEditor";
         }
-        virtual QIcon getWidgetIcon() const
+        virtual QIcon getWidgetIcon() const override
+        {
+            return GetWidgetIcon();
+        }
+        virtual QIcon getWidgetCategoryIcon() const override
+        {
+            return GetWidgetCategoryIcon();
+        }
+        static QIcon GetWidgetIcon()
         {
             return QIcon(":/statechart-editor/states.svg");
         }
-        virtual QIcon getWidgetCategoryIcon() const
+        static QIcon GetWidgetCategoryIcon()
         {
             return QIcon(":/statechart-editor/states.svg");
         }
diff --git a/source/ArmarXGui/gui-plugins/StatechartEventSenderPlugin/EventSenderOverview.h b/source/ArmarXGui/gui-plugins/StatechartEventSenderPlugin/EventSenderOverview.h
index 8373cadc1fc9e781ed2fdeb2951e0b80dd62e06f..29fba0d8b52c66f95bbc6bca4cd977b27fd988e3 100644
--- a/source/ArmarXGui/gui-plugins/StatechartEventSenderPlugin/EventSenderOverview.h
+++ b/source/ArmarXGui/gui-plugins/StatechartEventSenderPlugin/EventSenderOverview.h
@@ -138,7 +138,11 @@ namespace armarx
         ~EventSenderOverview();
 
         //inherited from ArmarXWidget
-        QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "Statecharts.EventSender";
         }
diff --git a/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/StatechartViewerController.h b/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/StatechartViewerController.h
index 36f831b92ee3bbbee1f4000fc519415a17dd1090..4ede8ccef58c9b6c8282cd645e963007f5865c49 100644
--- a/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/StatechartViewerController.h
+++ b/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/StatechartViewerController.h
@@ -68,11 +68,19 @@ namespace armarx
         void onExitComponent();
 
         // inherited of ArmarXWidget
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        virtual QIcon getWidgetIcon() const override
+        {
+            return GetWidgetIcon();
+        }
+        static QString GetWidgetName()
         {
             return "Statecharts.StatechartViewer";
         }
-        virtual QIcon getWidgetIcon() const
+        static QIcon GetWidgetIcon()
         {
             return QIcon("://icons/statechartviewer.svg");
         }
diff --git a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/IceGridViewer/IceGridViewer.h b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/IceGridViewer/IceGridViewer.h
index df0c7617e638d2c867abff5a60e6937f2f64fe7e..a3bff244e3d77c3fb6dc6548d076ccb67ee578ab 100644
--- a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/IceGridViewer/IceGridViewer.h
+++ b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/IceGridViewer/IceGridViewer.h
@@ -78,7 +78,11 @@ namespace armarx
          * Returns the Widget name displayed in the ArmarXGui to create an
          * instance of this.
          */
-        QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "Meta.IceGridViewer";
         }
diff --git a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.cpp b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.cpp
index 0d6e4b759c0684054cc1807adb9aaf936e943b2f..5c44e496f8bc10dfaf89249aebf81ec60ff06e1b 100644
--- a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.cpp
+++ b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.cpp
@@ -113,13 +113,6 @@ SystemStateMonitorWidget::~SystemStateMonitorWidget()
     //    delete stateUpdateTimer;
 }
 
-
-QString SystemStateMonitorWidget::getWidgetName() const
-{
-    return "Meta.SystemStateMonitor";
-}
-
-
 void SystemStateMonitorWidget::setupModel()
 {
     managerRepositoryModel = new ArmarXManagerModel();
@@ -362,8 +355,3 @@ void SystemStateMonitorWidget::delayedFilterExpansion()
 {
     InfixFilterModel::ExpandFilterResults(ui.monitoredManagersTree);
 }
-
-QIcon armarx::SystemStateMonitorWidget::getWidgetIcon() const
-{
-    return QIcon(":icons/activity_monitor.png");
-}
diff --git a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.h b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.h
index 2cec007fff34246d08c5ce6165a936e17b9814f6..977615937163997be95d18fae012baa8166d3c63 100644
--- a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.h
+++ b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.h
@@ -100,7 +100,14 @@ namespace armarx
          * Returns the Widget name displayed in the ArmarXGui to create an
          * instance of this.
          */
-        QString getWidgetName() const;
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
+        {
+            return "Meta.SystemStateMonitor";
+        }
 
         /**
          * @see armarx::Component::onInitComponent()
@@ -193,7 +200,14 @@ namespace armarx
 
         // ArmarXWidgetController interface
     public:
-        QIcon getWidgetIcon() const;
+        virtual QIcon getWidgetIcon() const override
+        {
+            return GetWidgetIcon();
+        }
+        static QIcon GetWidgetIcon()
+        {
+            return QIcon(":icons/activity_monitor.png");
+        }
     };
 }
 
diff --git a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/ThreadViewer/ThreadViewer.cpp b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/ThreadViewer/ThreadViewer.cpp
index 1bae4ce97936a49c16f8be66b70156021de789c1..ad61461206e003763e6873e7f9d2e07b50537cda 100644
--- a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/ThreadViewer/ThreadViewer.cpp
+++ b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/ThreadViewer/ThreadViewer.cpp
@@ -91,11 +91,6 @@ void ThreadViewer::saveSettings(QSettings* settings)
 {
 }
 
-QString ThreadViewer::getWidgetName() const
-{
-    return "Meta.ThreadViewer";
-}
-
 void ThreadViewer::onInitComponent()
 {
 
diff --git a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/ThreadViewer/ThreadViewer.h b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/ThreadViewer/ThreadViewer.h
index d8761ec784e7b5f0b06ed4410684c0dfcdec933c..fb8dc5ffd4e45177c8292019ab4e4bad37789a7e 100644
--- a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/ThreadViewer/ThreadViewer.h
+++ b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/ThreadViewer/ThreadViewer.h
@@ -76,7 +76,14 @@ namespace armarx
          * Returns the Widget name displayed in the ArmarXGui to create an
          * instance of this.
          */
-        QString getWidgetName() const;
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
+        {
+            return "Meta.ThreadViewer";
+        }
 
         /**
          * @see armarx::Component::onInitComponent()
diff --git a/source/ArmarXGui/gui-plugins/TopicReplayerPlugin/TopicReplayerWidgetController.h b/source/ArmarXGui/gui-plugins/TopicReplayerPlugin/TopicReplayerWidgetController.h
index 268e5960efdb75c510b92bfbb28e85da192480f2..0021176bbc829142a8d56f271a6b29797db7a744 100644
--- a/source/ArmarXGui/gui-plugins/TopicReplayerPlugin/TopicReplayerWidgetController.h
+++ b/source/ArmarXGui/gui-plugins/TopicReplayerPlugin/TopicReplayerWidgetController.h
@@ -91,7 +91,11 @@ namespace armarx
          * Returns the Widget name displayed in the ArmarXGui to create an
          * instance of this class.
          */
-        virtual QString getWidgetName() const
+        virtual QString getWidgetName() const override
+        {
+            return GetWidgetName();
+        }
+        static QString GetWidgetName()
         {
             return "Meta.TopicReplayer";
         }