Index: orxonox/trunk/src/lib/event/event_handler.cc
===================================================================
--- orxonox/trunk/src/lib/event/event_handler.cc	(revision 4837)
+++ orxonox/trunk/src/lib/event/event_handler.cc	(revision 4838)
@@ -72,5 +72,5 @@
       if( this->listeners[i][j] != NULL)
       {
-        PRINTF(2)("Someone forgot to unsubscribe an EventListener!\n");
+        PRINTF(2)("forgot to unsubscribe an EventListener %s!\n");//, this->listeners[i][j]->getName());
       }
     }
Index: orxonox/trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4837)
+++ orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4838)
@@ -58,5 +58,4 @@
 {
   // delete what has to be deleted here
-  EventHandler::getInstance()->unsubscribe(this);
 }
 
Index: orxonox/trunk/src/lib/graphics/render2D/element_2D.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/render2D/element_2D.cc	(revision 4838)
+++ orxonox/trunk/src/lib/graphics/render2D/element_2D.cc	(revision 4838)
@@ -0,0 +1,50 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+
+#include "element_2D.h"
+
+using namespace std;
+
+
+/**
+ * standard constructor
+ * @todo this constructor is not jet implemented - do it
+*/
+Element2D::Element2D ()
+{
+   this->setClassID(CL_ELEMENT_2D, "Element2D");
+
+   /* If you make a new class, what is most probably the case when you write this file
+      don't forget to:
+       1. Add the new file new_class.cc to the ./src/Makefile.am
+       2. Add the class identifier to ./src/class_id.h eg. CL_NEW_CLASS
+
+      Advanced Topics:
+      - if you want to let your object be managed via the ObjectManager make sure to read
+        the object_manager.h header comments. You will use this most certanly only if you
+        make many objects of your class, like a weapon bullet.
+   */
+}
+
+
+/**
+ * standard deconstructor
+*/
+Element2D::~Element2D ()
+{
+  // delete what has to be deleted here
+}
Index: orxonox/trunk/src/lib/graphics/render2D/element_2D.h
===================================================================
--- orxonox/trunk/src/lib/graphics/render2D/element_2D.h	(revision 4838)
+++ orxonox/trunk/src/lib/graphics/render2D/element_2D.h	(revision 4838)
@@ -0,0 +1,25 @@
+/*!
+ * @file element_2D.h
+ * @brief Definition of the 2D elements rendered on top through the GraphicsEngine
+*/
+
+#ifndef _ELEMENT_2D_H
+#define _ELEMENT_2D_H
+
+#include "base_object.h"
+
+// FORWARD DECLARATION
+
+//! A class for ...
+class Element2D : public BaseObject {
+
+ public:
+  Element2D();
+  virtual ~Element2D();
+
+
+ private:
+
+};
+
+#endif /* _ELEMENT_2D_H */
Index: orxonox/trunk/src/lib/graphics/render2D/render_2d.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/render2D/render_2d.cc	(revision 4838)
+++ orxonox/trunk/src/lib/graphics/render2D/render_2d.cc	(revision 4838)
@@ -0,0 +1,54 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: ...
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+
+#include "proto_singleton.h"
+
+using namespace std;
+
+
+/**
+ * standard constructor
+ */
+ProtoSingleton::ProtoSingleton ()
+{
+   this->setClassName("ProtoSingleton");
+   this->setClassID(CL_PROTO_ID, "ProtoSingleton");
+
+   /* If you make a new class, what is most probably the case when you write this file
+      don't forget to:
+       1. Add the new file new_class.cc to the ./src/Makefile.am
+       2. Add the class identifier to ./src/class_id.h eg. CL_NEW_CLASS
+
+      Advanced Topics:
+      - if you want to let your object be managed via the ObjectManager make sure to read
+        the object_manager.h header comments. You will use this most certanly only if you
+        make many objects of your class, like a weapon bullet.
+   */
+}
+
+/**
+ *  the singleton reference to this class
+ */
+ProtoSingleton* ProtoSingleton::singletonRef = NULL;
+
+/**
+   @brief standard deconstructor
+ */
+ProtoSingleton::~ProtoSingleton ()
+{
+  ProtoSingleton::singletonRef = NULL;
+}
Index: orxonox/trunk/src/lib/graphics/render2D/render_2d.h
===================================================================
--- orxonox/trunk/src/lib/graphics/render2D/render_2d.h	(revision 4838)
+++ orxonox/trunk/src/lib/graphics/render2D/render_2d.h	(revision 4838)
@@ -0,0 +1,26 @@
+/*!
+ * @file proto_singleton.h
+ * @brief Definition of the ... singleton Class
+*/
+
+#ifndef _PROTO_SINGLETON_H
+#define _PROTO_SINGLETON_H
+
+#include "base_object.h"
+
+// FORWARD DEFINITION
+
+//! A default singleton class.
+class ProtoSingleton : public BaseObject {
+
+ public:
+  virtual ~ProtoSingleton(void);
+  /** @returns a Pointer to the only object of this Class */
+  inline static ProtoSingleton* getInstance(void) { if (!singletonRef) singletonRef = new ProtoSingleton();  return singletonRef; };
+
+ private:
+  ProtoSingleton(void);
+  static ProtoSingleton* singletonRef;
+};
+
+#endif /* _PROTO_SINGLETON_H */
