Index: code/branches/resource/src/orxonox/overlays/console/InGameConsole.cc
===================================================================
--- code/branches/resource/src/orxonox/overlays/console/InGameConsole.cc	(revision 3346)
+++ code/branches/resource/src/orxonox/overlays/console/InGameConsole.cc	(revision 3366)
@@ -60,5 +60,5 @@
     SetConsoleCommand(InGameConsole, closeConsole, true);
 
-    InGameConsole* InGameConsole::singletonRef_s = 0;
+    InGameConsole* InGameConsole::singletonPtr_s = 0;
 
     /**
@@ -76,7 +76,4 @@
         RegisterObject(InGameConsole);
 
-        assert(singletonRef_s == 0);
-        singletonRef_s = this;
-
         this->bActive_ = false;
         this->cursor_ = 0.0f;
@@ -131,6 +128,4 @@
         if (this->consoleOverlay_)
             Ogre::OverlayManager::getSingleton().destroy(consoleOverlay_);
-
-        singletonRef_s = 0;
     }
 
Index: code/branches/resource/src/orxonox/overlays/console/InGameConsole.h
===================================================================
--- code/branches/resource/src/orxonox/overlays/console/InGameConsole.h	(revision 3346)
+++ code/branches/resource/src/orxonox/overlays/console/InGameConsole.h	(revision 3366)
@@ -34,5 +34,7 @@
 
 #include <string>
+
 #include "util/OgreForwardRefs.h"
+#include "util/Singleton.h"
 #include "core/Shell.h"
 #include "core/WindowEventListener.h"
@@ -40,6 +42,7 @@
 namespace orxonox
 {
-    class _OrxonoxExport InGameConsole : public ShellListener, public WindowEventListener
+    class _OrxonoxExport InGameConsole : public Singleton<InGameConsole>, public ShellListener, public WindowEventListener
     {
+        friend class Singleton<InGameConsole>;
     public: // functions
         InGameConsole();
@@ -51,7 +54,4 @@
 
         void update(const Clock& time);
-
-        static InGameConsole& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
-        static InGameConsole* getInstancePtr() { return singletonRef_s; }
 
         static void openConsole();
@@ -112,5 +112,5 @@
         bool bHidesAllInput_;
 
-        static InGameConsole* singletonRef_s;
+        static InGameConsole* singletonPtr_s;
     };
 }
Index: code/branches/resource/src/orxonox/overlays/notifications/NotificationManager.cc
===================================================================
--- code/branches/resource/src/orxonox/overlays/notifications/NotificationManager.cc	(revision 3346)
+++ code/branches/resource/src/orxonox/overlays/notifications/NotificationManager.cc	(revision 3366)
@@ -46,5 +46,5 @@
     const std::string NotificationManager::NONE = "none";
 
-    NotificationManager* NotificationManager::singletonRef_s = NULL;
+    NotificationManager* NotificationManager::singletonPtr_s = NULL;
 
     /**
@@ -55,7 +55,4 @@
     {
         RegisterRootObject(NotificationManager);
-
-        assert(singletonRef_s == 0);
-        singletonRef_s = this;
 
         this->highestIndex_ = 0;
@@ -70,16 +67,4 @@
     }
 
-    /**
-    @brief
-        Returns the current (and single) instance of the NotificationManager. Creates one, if there isn't one to begin with.
-    @return
-        Returns a reference to the single instance of the NotificationManager.
-    */
-    /*static*/ NotificationManager & NotificationManager::getInstance()
-    {
-        assert(singletonRef_s);
-        return *singletonRef_s;
-    }
-    
     /**
     @brief
Index: code/branches/resource/src/orxonox/overlays/notifications/NotificationManager.h
===================================================================
--- code/branches/resource/src/orxonox/overlays/notifications/NotificationManager.h	(revision 3346)
+++ code/branches/resource/src/orxonox/overlays/notifications/NotificationManager.h	(revision 3366)
@@ -40,4 +40,6 @@
 #include <map>
 #include <string>
+
+#include "util/Singleton.h"
 #include "core/OrxonoxClass.h"
 
@@ -52,6 +54,7 @@
         Damian 'Mozork' Frick
     */
-    class _OrxonoxExport NotificationManager : public OrxonoxClass
+    class _OrxonoxExport NotificationManager : public Singleton<NotificationManager>, public OrxonoxClass
     {
+            friend class Singleton<NotificationManager>;
         public:
             NotificationManager();
@@ -60,6 +63,4 @@
             static const std::string ALL;
             static const std::string NONE;
-
-            static NotificationManager & getInstance(); //! Returns a reference to the single instance of the NotificationManager.
 
             bool registerNotification(Notification* notification); //!< Registers a Notification within the NotificationManager.
@@ -88,5 +89,5 @@
 
         private:
-            static NotificationManager* singletonRef_s;
+            static NotificationManager* singletonPtr_s;
 
             int highestIndex_; //!< This variable holds the highest index (resp. key) in notificationLists_s, to secure that  no key appears twice.
