Index: code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc
===================================================================
--- code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 1633)
+++ code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 1747)
@@ -51,7 +51,7 @@
     std::map<std::string, OrxonoxOverlay*> OrxonoxOverlay::overlays_s;
 
-    SetConsoleCommand(OrxonoxOverlay, scaleOverlay, false).setAccessLevel(AccessLevel::User);
-    SetConsoleCommand(OrxonoxOverlay, scrollOverlay, false).setAccessLevel(AccessLevel::User);
-    SetConsoleCommand(OrxonoxOverlay, rotateOverlay, false).setAccessLevel(AccessLevel::User);
+    SetConsoleCommand(OrxonoxOverlay, scaleOverlay, false).accessLevel(AccessLevel::User);
+    SetConsoleCommand(OrxonoxOverlay, scrollOverlay, false).accessLevel(AccessLevel::User);
+    SetConsoleCommand(OrxonoxOverlay, rotateOverlay, false).accessLevel(AccessLevel::User);
 
     OrxonoxOverlay::OrxonoxOverlay()
@@ -84,5 +84,5 @@
     @brief
         Loads the OrxonoxOverlay.
-        
+
         This has to be called before usage, otherwise strange behaviour is
         guaranteed! (there should be no segfaults however).
@@ -92,5 +92,5 @@
     void OrxonoxOverlay::XMLPort(Element& xmlElement, XMLPort::Mode mode)
     {
-        BaseObject::XMLPort(xmlElement, mode);
+        SUPER(OrxonoxOverlay, XMLPort, xmlElement, mode);
 
         if (mode == XMLPort::LoadObject)
@@ -267,5 +267,5 @@
         if (angle > Ogre::Math::PI * 0.5)
             angle = Ogre::Math::PI - angle;
-        
+
         // do some mathematical fiddling for a bounding box
         Vector2 actualSize = size_ * sizeCorrection_;
Index: code/trunk/src/orxonox/overlays/OrxonoxOverlay.h
===================================================================
--- code/trunk/src/orxonox/overlays/OrxonoxOverlay.h	(revision 1633)
+++ code/trunk/src/orxonox/overlays/OrxonoxOverlay.h	(revision 1747)
@@ -150,6 +150,7 @@
         static void rotateOverlay(const std::string& name, const Degree& angle);
 
+        virtual void changedVisibility();
+
     protected:
-        virtual void changedVisibility();
         virtual void angleChanged();
         virtual void sizeCorrectionChanged();
Index: code/trunk/src/orxonox/overlays/OverlayGroup.cc
===================================================================
--- code/trunk/src/orxonox/overlays/OverlayGroup.cc	(revision 1633)
+++ code/trunk/src/orxonox/overlays/OverlayGroup.cc	(revision 1747)
@@ -35,7 +35,8 @@
 #include "OverlayGroup.h"
 
-#include "core/Debug.h"
+#include "util/Debug.h"
 #include "core/ConsoleCommand.h"
 #include "core/CoreIncludes.h"
+#include "core/Iterator.h"
 #include "core/XMLPort.h"
 #include "OrxonoxOverlay.h"
@@ -45,7 +46,7 @@
     CreateFactory(OverlayGroup);
 
-    SetConsoleCommand(OverlayGroup, toggleVisibility, false).setAccessLevel(AccessLevel::User);
-    SetConsoleCommand(OverlayGroup, scaleGroup, false).setAccessLevel(AccessLevel::User);
-    SetConsoleCommand(OverlayGroup, scrollGroup, false).setAccessLevel(AccessLevel::User);
+    SetConsoleCommand(OverlayGroup, toggleVisibility, false).accessLevel(AccessLevel::User);
+    SetConsoleCommand(OverlayGroup, scaleGroup, false).accessLevel(AccessLevel::User);
+    SetConsoleCommand(OverlayGroup, scrollGroup, false).accessLevel(AccessLevel::User);
 
     OverlayGroup::OverlayGroup()
@@ -62,5 +63,5 @@
     void OverlayGroup::XMLPort(Element& xmlElement, XMLPort::Mode mode)
     {
-        BaseObject::XMLPort(xmlElement, mode);
+        SUPER(OverlayGroup, XMLPort, xmlElement, mode);
 
         XMLPortParam(OverlayGroup, "scale",  setScale,  getScale,  xmlElement, mode).defaultValues(Vector2(1.0, 1.0));
@@ -135,5 +136,5 @@
     /*static*/ void OverlayGroup::toggleVisibility(const std::string& name)
     {
-        for (Iterator<OverlayGroup> it = ObjectList<OverlayGroup>::begin(); it; ++it)
+        for (ObjectList<OverlayGroup>::iterator it = ObjectList<OverlayGroup>::begin(); it; ++it)
         {
             if ((*it)->getName() == name)
@@ -151,5 +152,5 @@
     /*static*/ void OverlayGroup::scaleGroup(const std::string& name, float scale)
     {
-        for (Iterator<OverlayGroup> it = ObjectList<OverlayGroup>::begin(); it; ++it)
+        for (ObjectList<OverlayGroup>::iterator it = ObjectList<OverlayGroup>::begin(); it; ++it)
         {
             if ((*it)->getName() == name)
@@ -167,5 +168,5 @@
     /*static*/ void OverlayGroup::scrollGroup(const std::string& name, const Vector2& scroll)
     {
-        for (Iterator<OverlayGroup> it = ObjectList<OverlayGroup>::begin(); it; ++it)
+        for (ObjectList<OverlayGroup>::iterator it = ObjectList<OverlayGroup>::begin(); it; ++it)
         {
             if ((*it)->getName() == name)
Index: code/trunk/src/orxonox/overlays/OverlayGroup.h
===================================================================
--- code/trunk/src/orxonox/overlays/OverlayGroup.h	(revision 1633)
+++ code/trunk/src/orxonox/overlays/OverlayGroup.h	(revision 1747)
@@ -58,9 +58,11 @@
         ~OverlayGroup() { }
 
-        void XMLPort(Element& xmlElement, XMLPort::Mode mode);
+        virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
 
         static void toggleVisibility(const std::string& name);
         static void scaleGroup(const std::string& name, float scale);
         static void scrollGroup(const std::string& name, const Vector2& scroll);
+
+        void changedVisibility();
 
     private:
@@ -80,6 +82,4 @@
         OrxonoxOverlay* getElement(unsigned int index);
 
-        void changedVisibility();
-
         std::map<std::string, OrxonoxOverlay*> hudElements_;    //!< Contains all the OrxonoxOverlays of the this group.
         Vector2 scale_;                                         //!< Current scale (independant of the elements).
Index: code/trunk/src/orxonox/overlays/OverlayText.cc
===================================================================
--- code/trunk/src/orxonox/overlays/OverlayText.cc	(revision 1633)
+++ code/trunk/src/orxonox/overlays/OverlayText.cc	(revision 1747)
@@ -57,5 +57,5 @@
     void OverlayText::XMLPort(Element& xmlElement, XMLPort::Mode mode)
     {
-        OrxonoxOverlay::XMLPort(xmlElement, mode);
+        SUPER(OverlayText, XMLPort, xmlElement, mode);
 
         if (mode == XMLPort::LoadObject)
Index: code/trunk/src/orxonox/overlays/console/InGameConsole.cc
===================================================================
--- code/trunk/src/orxonox/overlays/console/InGameConsole.cc	(revision 1633)
+++ code/trunk/src/orxonox/overlays/console/InGameConsole.cc	(revision 1747)
@@ -41,5 +41,5 @@
 #include "util/Math.h"
 #include "util/Convert.h"
-#include "core/Debug.h"
+#include "util/Debug.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
Index: code/trunk/src/orxonox/overlays/console/InGameConsole.h
===================================================================
--- code/trunk/src/orxonox/overlays/console/InGameConsole.h	(revision 1633)
+++ code/trunk/src/orxonox/overlays/console/InGameConsole.h	(revision 1747)
@@ -50,5 +50,5 @@
             void setConfigValues();
 
-            void tick(float dt);
+            virtual void tick(float dt);
 
             static InGameConsole& getInstance();
Index: code/trunk/src/orxonox/overlays/debug/DebugFPSText.h
===================================================================
--- code/trunk/src/orxonox/overlays/debug/DebugFPSText.h	(revision 1633)
+++ code/trunk/src/orxonox/overlays/debug/DebugFPSText.h	(revision 1747)
@@ -43,8 +43,5 @@
         ~DebugFPSText();
 
-    private:
-        void tick(float dt);
-
-    private:
+        virtual void tick(float dt);
     };
 }
Index: code/trunk/src/orxonox/overlays/debug/DebugRTRText.h
===================================================================
--- code/trunk/src/orxonox/overlays/debug/DebugRTRText.h	(revision 1633)
+++ code/trunk/src/orxonox/overlays/debug/DebugRTRText.h	(revision 1747)
@@ -43,6 +43,5 @@
         ~DebugRTRText();
 
-    private:
-        void tick(float dt);
+        virtual void tick(float dt);
     };
 }
Index: code/trunk/src/orxonox/overlays/hud/HUDBar.cc
===================================================================
--- code/trunk/src/orxonox/overlays/hud/HUDBar.cc	(revision 1633)
+++ code/trunk/src/orxonox/overlays/hud/HUDBar.cc	(revision 1747)
@@ -53,5 +53,5 @@
     void BarColour::XMLPort(Element& xmlElement, XMLPort::Mode mode)
     {
-        BaseObject::XMLPort(xmlElement, mode);
+        SUPER(BarColour, XMLPort, xmlElement, mode);
 
         XMLPortParam(BarColour, "colour", setColour, getColour, xmlElement, mode)
@@ -78,5 +78,5 @@
     void HUDBar::XMLPort(Element& xmlElement, XMLPort::Mode mode)
     {
-        OrxonoxOverlay::XMLPort(xmlElement, mode);
+        SUPER(HUDBar, XMLPort, xmlElement, mode);
 
         if (mode == XMLPort::LoadObject)
Index: code/trunk/src/orxonox/overlays/hud/HUDBar.h
===================================================================
--- code/trunk/src/orxonox/overlays/hud/HUDBar.h	(revision 1633)
+++ code/trunk/src/orxonox/overlays/hud/HUDBar.h	(revision 1747)
@@ -47,5 +47,5 @@
         ~BarColour() { }
 
-        void XMLPort(Element& xmlElement, XMLPort::Mode mode);
+        virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
 
         void setColour(const ColourValue& colour) { this->colour_ = colour; }
Index: code/trunk/src/orxonox/overlays/hud/HUDNavigation.cc
===================================================================
--- code/trunk/src/orxonox/overlays/hud/HUDNavigation.cc	(revision 1633)
+++ code/trunk/src/orxonox/overlays/hud/HUDNavigation.cc	(revision 1747)
@@ -69,5 +69,5 @@
     void HUDNavigation::XMLPort(Element& xmlElement, XMLPort::Mode mode)
     {
-        OrxonoxOverlay::XMLPort(xmlElement, mode);
+        SUPER(HUDNavigation, XMLPort, xmlElement, mode);
 
         if (mode == XMLPort::LoadObject)
@@ -87,5 +87,5 @@
                 .createOverlayElement("Panel", "HUDNavigation_aimMarker_" + getUniqueNumberStr()));
             aimMarker_->setMaterialName("Orxonox/NavCrosshair");
-            
+
             background_->addChild(navMarker_);
             background_->addChild(aimMarker_);
Index: code/trunk/src/orxonox/overlays/hud/HUDNavigation.h
===================================================================
--- code/trunk/src/orxonox/overlays/hud/HUDNavigation.h	(revision 1633)
+++ code/trunk/src/orxonox/overlays/hud/HUDNavigation.h	(revision 1747)
@@ -44,5 +44,6 @@
         ~HUDNavigation();
 
-        void XMLPort(Element& xmlElement, XMLPort::Mode mode);
+        virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
+        virtual void tick(float dt);
 
     private:
@@ -50,6 +51,4 @@
         void angleChanged() { }
         void positionChanged() { }
-
-        void tick(float dt);
 
         // XMLPort accessors
Index: code/trunk/src/orxonox/overlays/hud/HUDRadar.cc
===================================================================
--- code/trunk/src/orxonox/overlays/hud/HUDRadar.cc	(revision 1633)
+++ code/trunk/src/orxonox/overlays/hud/HUDRadar.cc	(revision 1747)
@@ -66,5 +66,5 @@
     void HUDRadar::XMLPort(Element& xmlElement, XMLPort::Mode mode)
     {
-        OrxonoxOverlay::XMLPort(xmlElement, mode);
+        SUPER(HUDRadar, XMLPort, xmlElement, mode);
 
         if (mode == XMLPort::LoadObject)
Index: code/trunk/src/orxonox/overlays/hud/HUDRadar.h
===================================================================
--- code/trunk/src/orxonox/overlays/hud/HUDRadar.h	(revision 1633)
+++ code/trunk/src/orxonox/overlays/hud/HUDRadar.h	(revision 1747)
@@ -48,5 +48,5 @@
         ~HUDRadar();
 
-        void XMLPort(Element& xmlElement, XMLPort::Mode mode);
+        virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
 
     private:
Index: code/trunk/src/orxonox/overlays/hud/HUDSpeedBar.h
===================================================================
--- code/trunk/src/orxonox/overlays/hud/HUDSpeedBar.h	(revision 1633)
+++ code/trunk/src/orxonox/overlays/hud/HUDSpeedBar.h	(revision 1747)
@@ -44,6 +44,5 @@
         ~HUDSpeedBar();
 
-    private:
-        void tick(float dt);
+        virtual void tick(float dt);
     };
 }
