Index: code/trunk/src/orxonox/graphics/AnimatedModel.cc
===================================================================
--- code/trunk/src/orxonox/graphics/AnimatedModel.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/AnimatedModel.cc	(revision 9667)
@@ -39,7 +39,7 @@
 namespace orxonox
 {
-    CreateFactory(AnimatedModel);
+    RegisterClass(AnimatedModel);
 
-    AnimatedModel::AnimatedModel(BaseObject* creator) : Model(creator)
+    AnimatedModel::AnimatedModel(Context* context) : Model(context)
     {
         RegisterObject(AnimatedModel);
Index: code/trunk/src/orxonox/graphics/AnimatedModel.h
===================================================================
--- code/trunk/src/orxonox/graphics/AnimatedModel.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/AnimatedModel.h	(revision 9667)
@@ -41,5 +41,5 @@
     {
         public:
-            AnimatedModel(BaseObject* creator);
+            AnimatedModel(Context* context);
             virtual ~AnimatedModel();
 
Index: code/trunk/src/orxonox/graphics/Backlight.cc
===================================================================
--- code/trunk/src/orxonox/graphics/Backlight.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Backlight.cc	(revision 9667)
@@ -45,7 +45,7 @@
 namespace orxonox
 {
-    CreateFactory(Backlight);
-
-    Backlight::Backlight(BaseObject* creator) : FadingBillboard(creator)
+    RegisterClass(Backlight);
+
+    Backlight::Backlight(Context* context) : FadingBillboard(context)
     {
         RegisterObject(Backlight);
Index: code/trunk/src/orxonox/graphics/Backlight.h
===================================================================
--- code/trunk/src/orxonox/graphics/Backlight.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Backlight.h	(revision 9667)
@@ -41,5 +41,5 @@
     {
         public:
-            Backlight(BaseObject* creator);
+            Backlight(Context* context);
             virtual ~Backlight();
 
Index: code/trunk/src/orxonox/graphics/Billboard.cc
===================================================================
--- code/trunk/src/orxonox/graphics/Billboard.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Billboard.cc	(revision 9667)
@@ -38,7 +38,7 @@
 namespace orxonox
 {
-    CreateFactory(Billboard);
+    RegisterClass(Billboard);
 
-    Billboard::Billboard(BaseObject* creator) : StaticEntity(creator)
+    Billboard::Billboard(Context* context) : StaticEntity(context)
     {
         RegisterObject(Billboard);
Index: code/trunk/src/orxonox/graphics/Billboard.h
===================================================================
--- code/trunk/src/orxonox/graphics/Billboard.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Billboard.h	(revision 9667)
@@ -44,5 +44,5 @@
     {
         public:
-            Billboard(BaseObject* creator);
+            Billboard(Context* context);
             virtual ~Billboard();
 
Index: code/trunk/src/orxonox/graphics/BlinkingBillboard.cc
===================================================================
--- code/trunk/src/orxonox/graphics/BlinkingBillboard.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/BlinkingBillboard.cc	(revision 9667)
@@ -35,7 +35,7 @@
 namespace orxonox
 {
-    CreateFactory(BlinkingBillboard);
+    RegisterClass(BlinkingBillboard);
 
-    BlinkingBillboard::BlinkingBillboard(BaseObject* creator) : Billboard(creator)
+    BlinkingBillboard::BlinkingBillboard(Context* context) : Billboard(context)
     {
         RegisterObject(BlinkingBillboard);
Index: code/trunk/src/orxonox/graphics/BlinkingBillboard.h
===================================================================
--- code/trunk/src/orxonox/graphics/BlinkingBillboard.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/BlinkingBillboard.h	(revision 9667)
@@ -41,5 +41,5 @@
     {
         public:
-            BlinkingBillboard(BaseObject* creator);
+            BlinkingBillboard(Context* context);
             virtual ~BlinkingBillboard();
 
Index: code/trunk/src/orxonox/graphics/Camera.cc
===================================================================
--- code/trunk/src/orxonox/graphics/Camera.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Camera.cc	(revision 9667)
@@ -37,5 +37,5 @@
 #include "util/StringUtils.h"
 #include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
+#include "core/config/ConfigValueIncludes.h"
 #include "core/GameMode.h"
 #include "core/GUIManager.h"
@@ -46,7 +46,7 @@
 namespace orxonox
 {
-    CreateFactory(Camera);
-
-    Camera::Camera(BaseObject* creator) : StaticEntity(creator)
+    RegisterClass(Camera);
+
+    Camera::Camera(Context* context) : StaticEntity(context)
     {
         RegisterObject(Camera);
Index: code/trunk/src/orxonox/graphics/Camera.h
===================================================================
--- code/trunk/src/orxonox/graphics/Camera.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Camera.h	(revision 9667)
@@ -46,5 +46,5 @@
 
         public:
-            Camera(BaseObject* creator);
+            Camera(Context* context);
             virtual ~Camera();
 
Index: code/trunk/src/orxonox/graphics/FadingBillboard.cc
===================================================================
--- code/trunk/src/orxonox/graphics/FadingBillboard.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/FadingBillboard.cc	(revision 9667)
@@ -34,7 +34,7 @@
 namespace orxonox
 {
-    CreateFactory(FadingBillboard);
+    RegisterClass(FadingBillboard);
 
-    FadingBillboard::FadingBillboard(BaseObject* creator) : Billboard(creator)
+    FadingBillboard::FadingBillboard(Context* context) : Billboard(context)
     {
         RegisterObject(FadingBillboard);
Index: code/trunk/src/orxonox/graphics/FadingBillboard.h
===================================================================
--- code/trunk/src/orxonox/graphics/FadingBillboard.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/FadingBillboard.h	(revision 9667)
@@ -42,5 +42,5 @@
     {
         public:
-            FadingBillboard(BaseObject* creator);
+            FadingBillboard(Context* context);
             virtual ~FadingBillboard();
 
Index: code/trunk/src/orxonox/graphics/GlobalShader.cc
===================================================================
--- code/trunk/src/orxonox/graphics/GlobalShader.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/GlobalShader.cc	(revision 9667)
@@ -36,7 +36,7 @@
 namespace orxonox
 {
-    CreateFactory(GlobalShader);
+    RegisterClass(GlobalShader);
 
-    GlobalShader::GlobalShader(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    GlobalShader::GlobalShader(Context* context) : BaseObject(context), Synchronisable(context)
     {
         RegisterObject(GlobalShader);
Index: code/trunk/src/orxonox/graphics/GlobalShader.h
===================================================================
--- code/trunk/src/orxonox/graphics/GlobalShader.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/GlobalShader.h	(revision 9667)
@@ -41,5 +41,5 @@
     {
         public:
-            GlobalShader(BaseObject* creator);
+            GlobalShader(Context* context);
             virtual ~GlobalShader();
 
Index: code/trunk/src/orxonox/graphics/Light.cc
===================================================================
--- code/trunk/src/orxonox/graphics/Light.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Light.cc	(revision 9667)
@@ -42,5 +42,5 @@
 namespace orxonox
 {
-    CreateFactory(Light);
+    RegisterClass(Light);
 
     // Be sure we don't do bad conversions
@@ -49,5 +49,5 @@
     BOOST_STATIC_ASSERT((int)Ogre::Light::LT_SPOTLIGHT   == (int)Light::Spotlight);
 
-    Light::Light(BaseObject* creator) : StaticEntity(creator)
+    Light::Light(Context* context) : StaticEntity(context)
     {
         RegisterObject(Light);
Index: code/trunk/src/orxonox/graphics/Light.h
===================================================================
--- code/trunk/src/orxonox/graphics/Light.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Light.h	(revision 9667)
@@ -53,5 +53,5 @@
 
         public:
-            Light(BaseObject* creator);
+            Light(Context* context);
             virtual ~Light();
 
Index: code/trunk/src/orxonox/graphics/MeshLodInformation.cc
===================================================================
--- code/trunk/src/orxonox/graphics/MeshLodInformation.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/MeshLodInformation.cc	(revision 9667)
@@ -38,8 +38,8 @@
 namespace orxonox
 {
-    CreateFactory(MeshLodInformation);
+    RegisterClass(MeshLodInformation);
 
-    MeshLodInformation::MeshLodInformation(BaseObject* creator)
-    : BaseObject(creator), lodLevel_(5), bEnabled_(true), numLevels_(10), reductionRate_(0.15f)
+    MeshLodInformation::MeshLodInformation(Context* context)
+    : BaseObject(context), lodLevel_(5), bEnabled_(true), numLevels_(10), reductionRate_(0.15f)
     {
         RegisterObject(MeshLodInformation);
Index: code/trunk/src/orxonox/graphics/MeshLodInformation.h
===================================================================
--- code/trunk/src/orxonox/graphics/MeshLodInformation.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/MeshLodInformation.h	(revision 9667)
@@ -41,5 +41,5 @@
     {
         public:
-            MeshLodInformation(BaseObject* creator);
+            MeshLodInformation(Context* context);
             virtual ~MeshLodInformation();
 
Index: code/trunk/src/orxonox/graphics/Model.cc
===================================================================
--- code/trunk/src/orxonox/graphics/Model.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Model.cc	(revision 9667)
@@ -32,5 +32,5 @@
 
 #include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
+#include "core/config/ConfigValueIncludes.h"
 #include "core/GameMode.h"
 #include "core/XMLPort.h"
@@ -41,8 +41,8 @@
 namespace orxonox
 {
-    CreateFactory(Model);
-
-    Model::Model(BaseObject* creator) :
-        StaticEntity(creator), bCastShadows_(true), lodLevel_(5), bLodEnabled_(true), numLodLevels_(10), lodReductionRate_(.15f)
+    RegisterClass(Model);
+
+    Model::Model(Context* context) :
+        StaticEntity(context), bCastShadows_(true), lodLevel_(5), bLodEnabled_(true), numLodLevels_(10), lodReductionRate_(.15f)
     {
         RegisterObject(Model);
Index: code/trunk/src/orxonox/graphics/Model.h
===================================================================
--- code/trunk/src/orxonox/graphics/Model.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/Model.h	(revision 9667)
@@ -41,5 +41,5 @@
     {
         public:
-            Model(BaseObject* creator);
+            Model(Context* context);
             virtual ~Model();
 
Index: code/trunk/src/orxonox/graphics/ParticleEmitter.cc
===================================================================
--- code/trunk/src/orxonox/graphics/ParticleEmitter.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/ParticleEmitter.cc	(revision 9667)
@@ -43,7 +43,7 @@
 namespace orxonox
 {
-    CreateFactory(ParticleEmitter);
+    RegisterClass(ParticleEmitter);
 
-    ParticleEmitter::ParticleEmitter(BaseObject* creator) : StaticEntity(creator)
+    ParticleEmitter::ParticleEmitter(Context* context) : StaticEntity(context)
     {
         RegisterObject(ParticleEmitter);
@@ -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/trunk/src/orxonox/graphics/ParticleEmitter.h
===================================================================
--- code/trunk/src/orxonox/graphics/ParticleEmitter.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/ParticleEmitter.h	(revision 9667)
@@ -40,5 +40,5 @@
     {
         public:
-            ParticleEmitter(BaseObject* creator);
+            ParticleEmitter(Context* context);
             virtual ~ParticleEmitter();
 
Index: code/trunk/src/orxonox/graphics/ParticleSpawner.cc
===================================================================
--- code/trunk/src/orxonox/graphics/ParticleSpawner.cc	(revision 9550)
+++ code/trunk/src/orxonox/graphics/ParticleSpawner.cc	(revision 9667)
@@ -37,7 +37,7 @@
 namespace orxonox
 {
-    CreateFactory(ParticleSpawner);
+    RegisterClass(ParticleSpawner);
 
-    ParticleSpawner::ParticleSpawner(BaseObject* creator) : ParticleEmitter(creator)
+    ParticleSpawner::ParticleSpawner(Context* context) : ParticleEmitter(context)
     {
         RegisterObject(ParticleSpawner);
Index: code/trunk/src/orxonox/graphics/ParticleSpawner.h
===================================================================
--- code/trunk/src/orxonox/graphics/ParticleSpawner.h	(revision 9550)
+++ code/trunk/src/orxonox/graphics/ParticleSpawner.h	(revision 9667)
@@ -40,5 +40,5 @@
     {
         public:
-            ParticleSpawner(BaseObject* creator);
+            ParticleSpawner(Context* context);
             virtual ~ParticleSpawner();
 
