Index: code/branches/core6/src/libraries/core/Core.h
===================================================================
--- code/branches/core6/src/libraries/core/Core.h	(revision 9588)
+++ code/branches/core6/src/libraries/core/Core.h	(revision 9589)
@@ -47,10 +47,10 @@
 #include "util/DestructionHelper.h"
 #include "util/Singleton.h"
-#include "class/OrxonoxClass.h"
+#include "config/Configurable.h"
 
 namespace orxonox
 {
     //! Informs about changes in the Development Mode.
-    class DevModeListener : virtual public OrxonoxClass
+    class DevModeListener : virtual public Listable
     {
     public:
Index: code/branches/core6/src/libraries/core/ViewportEventListener.h
===================================================================
--- code/branches/core6/src/libraries/core/ViewportEventListener.h	(revision 9588)
+++ code/branches/core6/src/libraries/core/ViewportEventListener.h	(revision 9589)
@@ -33,9 +33,9 @@
 
 #include "util/OgreForwardRefs.h"
-#include "class/OrxonoxClass.h"
+#include "object/Listable.h"
 
 namespace orxonox
 {
-    class _CoreExport ViewportEventListener : virtual public OrxonoxClass
+    class _CoreExport ViewportEventListener : virtual public Listable
     {
         public:
Index: code/branches/core6/src/libraries/core/WindowEventListener.h
===================================================================
--- code/branches/core6/src/libraries/core/WindowEventListener.h	(revision 9588)
+++ code/branches/core6/src/libraries/core/WindowEventListener.h	(revision 9589)
@@ -36,10 +36,10 @@
 
 #include "CorePrereqs.h"
-#include "class/OrxonoxClass.h"
+#include "object/Listable.h"
 
 namespace orxonox
 {
     //! Interface for receiving window events like resize, moved and focusChanged
-    class _CoreExport WindowEventListener : virtual public OrxonoxClass
+    class _CoreExport WindowEventListener : virtual public Listable
     {
         friend class OgreWindowEventListener;
Index: code/branches/core6/src/libraries/core/XMLNameListener.h
===================================================================
--- code/branches/core6/src/libraries/core/XMLNameListener.h	(revision 9588)
+++ code/branches/core6/src/libraries/core/XMLNameListener.h	(revision 9589)
@@ -36,9 +36,9 @@
 
 #include "CorePrereqs.h"
-#include "class/OrxonoxClass.h"
+#include "object/Listable.h"
 
 namespace orxonox
 {
-    class _CoreExport XMLNameListener : virtual public OrxonoxClass
+    class _CoreExport XMLNameListener : virtual public Listable
     {
         public:
Index: code/branches/core6/src/libraries/core/command/IOConsolePOSIX.cc
===================================================================
--- code/branches/core6/src/libraries/core/command/IOConsolePOSIX.cc	(revision 9588)
+++ code/branches/core6/src/libraries/core/command/IOConsolePOSIX.cc	(revision 9589)
@@ -99,5 +99,5 @@
 
         resetTerminalMode();
-        this->shell_->destroy();
+        delete this->shell_;
 
         // Restore this->cout_ redirection
Index: code/branches/core6/src/libraries/core/command/IOConsoleWindows.cc
===================================================================
--- code/branches/core6/src/libraries/core/command/IOConsoleWindows.cc	(revision 9588)
+++ code/branches/core6/src/libraries/core/command/IOConsoleWindows.cc	(revision 9589)
@@ -113,5 +113,5 @@
 
         resetTerminalMode();
-        this->shell_->destroy();
+        delete this->shell_;
     }
 
Index: code/branches/core6/src/libraries/core/input/InputManager.cc
===================================================================
--- code/branches/core6/src/libraries/core/input/InputManager.cc	(revision 9588)
+++ code/branches/core6/src/libraries/core/input/InputManager.cc	(revision 9589)
@@ -642,5 +642,5 @@
         assert(state && this->activeStates_.find(state->getPriority()) == this->activeStates_.end());
         statesByName_.erase(state->getName());
-        state->destroy();
+        delete state;
     }
 
Index: code/branches/core6/src/libraries/core/input/JoyStickQuantityListener.h
===================================================================
--- code/branches/core6/src/libraries/core/input/JoyStickQuantityListener.h	(revision 9588)
+++ code/branches/core6/src/libraries/core/input/JoyStickQuantityListener.h	(revision 9589)
@@ -38,10 +38,10 @@
 
 #include <vector>
-#include "core/class/OrxonoxClass.h"
+#include "core/object/Listable.h"
 
 namespace orxonox
 {
     //! Derive from this class to get informed when joy sticks get added/removed
-    class _CoreExport JoyStickQuantityListener : virtual public OrxonoxClass
+    class _CoreExport JoyStickQuantityListener : virtual public Listable
     {
         friend class InputManager;
Index: code/branches/core6/src/libraries/network/ClientConnectionListener.h
===================================================================
--- code/branches/core6/src/libraries/network/ClientConnectionListener.h	(revision 9588)
+++ code/branches/core6/src/libraries/network/ClientConnectionListener.h	(revision 9589)
@@ -31,9 +31,9 @@
 
 #include "NetworkPrereqs.h"
-#include "core/class/OrxonoxClass.h"
+#include "core/object/Listable.h"
 
 namespace orxonox
 {
-    class _NetworkExport ClientConnectionListener : virtual public OrxonoxClass
+    class _NetworkExport ClientConnectionListener : virtual public Listable
     {
         public:
Index: code/branches/core6/src/libraries/network/NetworkChatListener.h
===================================================================
--- code/branches/core6/src/libraries/network/NetworkChatListener.h	(revision 9588)
+++ code/branches/core6/src/libraries/network/NetworkChatListener.h	(revision 9589)
@@ -32,5 +32,5 @@
 #include "NetworkPrereqs.h"
 
-#include "core/class/OrxonoxClass.h"
+#include "core/object/Listable.h"
 
 namespace orxonox
@@ -43,5 +43,5 @@
         in Host and ChatManager. ChatManager is the main derivative of this interface.
     */
-    class _NetworkExport NetworkChatListener : virtual public OrxonoxClass
+    class _NetworkExport NetworkChatListener : virtual public Listable
     {
         friend class Host;
Index: code/branches/core6/src/libraries/network/NetworkFunction.cc
===================================================================
--- code/branches/core6/src/libraries/network/NetworkFunction.cc	(revision 9588)
+++ code/branches/core6/src/libraries/network/NetworkFunction.cc	(revision 9589)
@@ -57,5 +57,5 @@
     std::map<std::string, NetworkFunctionBase*>::iterator it;
     for( it=map.begin(); it!=map.end(); ++it )
-      it->second->destroy();
+      delete it->second;
   }
 
Index: code/branches/core6/src/libraries/network/NetworkFunction.h
===================================================================
--- code/branches/core6/src/libraries/network/NetworkFunction.h	(revision 9588)
+++ code/branches/core6/src/libraries/network/NetworkFunction.h	(revision 9589)
@@ -39,4 +39,5 @@
 #include <boost/static_assert.hpp>
 
+#include "core/object/Listable.h"
 #include "core/class/Identifier.h"
 #include "core/command/Functor.h"
@@ -70,5 +71,5 @@
 
 
-class _NetworkExport NetworkFunctionBase: virtual public OrxonoxClass {
+class _NetworkExport NetworkFunctionBase: virtual public Listable {
   public:
     NetworkFunctionBase(const std::string& name);
Index: code/branches/core6/src/libraries/tools/interfaces/TimeFactorListener.h
===================================================================
--- code/branches/core6/src/libraries/tools/interfaces/TimeFactorListener.h	(revision 9588)
+++ code/branches/core6/src/libraries/tools/interfaces/TimeFactorListener.h	(revision 9589)
@@ -31,9 +31,9 @@
 
 #include "tools/ToolsPrereqs.h"
-#include "core/class/OrxonoxClass.h"
+#include "core/object/Listable.h"
 
 namespace orxonox
 {
-    class _ToolsExport TimeFactorListener : virtual public OrxonoxClass
+    class _ToolsExport TimeFactorListener : virtual public Listable
     {
         public:
Index: code/branches/core6/src/modules/weapons/projectiles/ParticleProjectile.cc
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/ParticleProjectile.cc	(revision 9588)
+++ code/branches/core6/src/modules/weapons/projectiles/ParticleProjectile.cc	(revision 9589)
@@ -65,5 +65,5 @@
         {
             this->detachOgreObject(this->particles_->getParticleSystem());
-            this->particles_->destroy();
+            delete this->particles_;
         }
     }
Index: code/branches/core6/src/orxonox/chat/ChatListener.h
===================================================================
--- code/branches/core6/src/orxonox/chat/ChatListener.h	(revision 9588)
+++ code/branches/core6/src/orxonox/chat/ChatListener.h	(revision 9589)
@@ -32,5 +32,5 @@
 #include "OrxonoxPrereqs.h"
 
-#include "core/class/OrxonoxClass.h"
+#include "core/object/Listable.h"
 
 namespace orxonox
@@ -40,5 +40,5 @@
         message was sent through ChatManager.
     */
-    class _OrxonoxExport ChatListener : virtual public OrxonoxClass
+    class _OrxonoxExport ChatListener : virtual public Listable
     {
         friend class ChatManager;
Index: code/branches/core6/src/orxonox/graphics/ParticleEmitter.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/ParticleEmitter.cc	(revision 9588)
+++ code/branches/core6/src/orxonox/graphics/ParticleEmitter.cc	(revision 9589)
@@ -63,5 +63,5 @@
         {
             this->detachOgreObject(this->particles_->getParticleSystem());
-            this->particles_->destroy();
+            delete this->particles_;
         }
     }
@@ -101,5 +101,5 @@
         if (this->particles_)
         {
-            this->particles_->destroy();
+            delete this->particles_;
             this->particles_ = 0;
         }
Index: code/branches/core6/src/orxonox/overlays/InGameConsole.cc
===================================================================
--- code/branches/core6/src/orxonox/overlays/InGameConsole.cc	(revision 9588)
+++ code/branches/core6/src/orxonox/overlays/InGameConsole.cc	(revision 9589)
@@ -110,5 +110,5 @@
 
         // destroy the underlaying shell
-        this->shell_->destroy();
+        delete this->shell_;
 
         Ogre::OverlayManager* ovMan = Ogre::OverlayManager::getSingletonPtr();
Index: code/branches/core6/src/orxonox/worldentities/BigExplosion.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/BigExplosion.cc	(revision 9588)
+++ code/branches/core6/src/orxonox/worldentities/BigExplosion.cc	(revision 9589)
@@ -225,10 +225,10 @@
             {
                 this->debris1_->detachOgreObject(this->debrisFire1_->getParticleSystem());
-                this->debrisFire1_->destroy();
+                delete this->debrisFire1_;
             }
             if (this->debrisSmoke1_)
             {
                 this->debris1_->detachOgreObject(this->debrisSmoke1_->getParticleSystem());
-                this->debrisSmoke1_->destroy();
+                delete this->debrisSmoke1_;
             }
 
@@ -236,10 +236,10 @@
             {
                 this->debris2_->detachOgreObject(this->debrisFire2_->getParticleSystem());
-                this->debrisFire2_->destroy();
+                delete this->debrisFire2_;
             }
             if (this->debrisSmoke2_)
             {
                 this->debris2_->detachOgreObject(this->debrisSmoke2_->getParticleSystem());
-                this->debrisSmoke2_->destroy();
+                delete this->debrisSmoke2_;
             }
 
@@ -247,10 +247,10 @@
             {
                 this->debris3_->detachOgreObject(this->debrisFire3_->getParticleSystem());
-                this->debrisFire3_->destroy();
+                delete this->debrisFire3_;
             }
             if (this->debrisSmoke3_)
             {
                 this->debris3_->detachOgreObject(this->debrisSmoke3_->getParticleSystem());
-                this->debrisSmoke3_->destroy();
+                delete this->debrisSmoke3_;
             }
 
@@ -258,10 +258,10 @@
             {
                 this->debris4_->detachOgreObject(this->debrisFire4_->getParticleSystem());
-                this->debrisFire4_->destroy();
+                delete this->debrisFire4_;
             }
             if (this->debrisSmoke4_)
             {
                 this->debris4_->detachOgreObject(this->debrisSmoke4_->getParticleSystem());
-                this->debrisSmoke4_->destroy();
+                delete this->debrisSmoke4_;
             }
         }
Index: code/branches/core6/src/orxonox/worldentities/ExplosionChunk.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/ExplosionChunk.cc	(revision 9588)
+++ code/branches/core6/src/orxonox/worldentities/ExplosionChunk.cc	(revision 9589)
@@ -92,10 +92,10 @@
             {
                 this->detachOgreObject(this->fire_->getParticleSystem());
-                this->fire_->destroy();
+                delete this->fire_;
             }
             if (this->smoke_)
             {
                 this->detachOgreObject(this->smoke_->getParticleSystem());
-                this->smoke_->destroy();
+                delete this->smoke_;
             }
         }
Index: code/branches/core6/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 9588)
+++ code/branches/core6/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 9589)
@@ -96,5 +96,5 @@
 
             if (this->boostBlur_)
-                this->boostBlur_->destroy();
+                delete this->boostBlur_;
         }
     }
@@ -447,5 +447,5 @@
         if (!this->bEnableMotionBlur_ && this->boostBlur_ != NULL)
         {
-            this->boostBlur_->destroy();
+            delete this->boostBlur_;
             this->boostBlur_ = NULL;
         }
