Index: code/trunk/src/modules/objects/Attacher.cc
===================================================================
--- code/trunk/src/modules/objects/Attacher.cc	(revision 9526)
+++ code/trunk/src/modules/objects/Attacher.cc	(revision 9667)
@@ -34,7 +34,7 @@
 namespace orxonox
 {
-    CreateFactory(Attacher);
+    RegisterClass(Attacher);
 
-    Attacher::Attacher(BaseObject* creator) : StaticEntity(creator)
+    Attacher::Attacher(Context* context) : StaticEntity(context)
     {
         RegisterObject(Attacher);
Index: code/trunk/src/modules/objects/Attacher.h
===================================================================
--- code/trunk/src/modules/objects/Attacher.h	(revision 9526)
+++ code/trunk/src/modules/objects/Attacher.h	(revision 9667)
@@ -48,5 +48,5 @@
     {
         public:
-            Attacher(BaseObject* creator);
+            Attacher(Context* context);
             virtual ~Attacher() {}
 
Index: code/trunk/src/modules/objects/ForceField.cc
===================================================================
--- code/trunk/src/modules/objects/ForceField.cc	(revision 9526)
+++ code/trunk/src/modules/objects/ForceField.cc	(revision 9667)
@@ -40,5 +40,5 @@
 namespace orxonox
 {
-    CreateFactory(ForceField);
+    RegisterClass(ForceField);
 
     /*static*/ const std::string ForceField::modeTube_s = "tube";
@@ -53,5 +53,5 @@
         Constructor. Registers the object and initializes some values.
     */
-    ForceField::ForceField(BaseObject* creator) : StaticEntity(creator)
+    ForceField::ForceField(Context* context) : StaticEntity(context)
     {
         RegisterObject(ForceField);
Index: code/trunk/src/modules/objects/ForceField.h
===================================================================
--- code/trunk/src/modules/objects/ForceField.h	(revision 9526)
+++ code/trunk/src/modules/objects/ForceField.h	(revision 9667)
@@ -86,5 +86,5 @@
     {
         public:
-            ForceField(BaseObject* creator);
+            ForceField(Context* context);
             virtual ~ForceField();
 
Index: code/trunk/src/modules/objects/Planet.cc
===================================================================
--- code/trunk/src/modules/objects/Planet.cc	(revision 9526)
+++ code/trunk/src/modules/objects/Planet.cc	(revision 9667)
@@ -42,10 +42,10 @@
 namespace orxonox
 {
-    CreateFactory(Planet);
+    RegisterClass(Planet);
 
     /**
      * @brief Constructor
      */
-    Planet::Planet(BaseObject* creator) : MovableEntity(creator)
+    Planet::Planet(Context* context) : MovableEntity(context)
     {
         RegisterObject(Planet);
Index: code/trunk/src/modules/objects/Planet.h
===================================================================
--- code/trunk/src/modules/objects/Planet.h	(revision 9526)
+++ code/trunk/src/modules/objects/Planet.h	(revision 9667)
@@ -48,5 +48,5 @@
     {
         public:
-            Planet(BaseObject* creator);
+            Planet(Context* context);
 
             virtual ~Planet();
Index: code/trunk/src/modules/objects/Script.cc
===================================================================
--- code/trunk/src/modules/objects/Script.cc	(revision 9526)
+++ code/trunk/src/modules/objects/Script.cc	(revision 9667)
@@ -46,5 +46,5 @@
 namespace orxonox
 {
-    CreateFactory(Script);
+    RegisterClass(Script);
 
     registerStaticNetworkFunction(Script::executeHelper);
@@ -61,5 +61,5 @@
         The creator of this object.
     */
-    Script::Script(BaseObject* creator) : BaseObject(creator)
+    Script::Script(Context* context) : BaseObject(context)
     {
         RegisterObject(Script);
Index: code/trunk/src/modules/objects/Script.h
===================================================================
--- code/trunk/src/modules/objects/Script.h	(revision 9526)
+++ code/trunk/src/modules/objects/Script.h	(revision 9667)
@@ -95,5 +95,5 @@
     {
         public:
-            Script(BaseObject* creator);
+            Script(Context* context);
             virtual ~Script();
 
Index: code/trunk/src/modules/objects/SpaceBoundaries.cc
===================================================================
--- code/trunk/src/modules/objects/SpaceBoundaries.cc	(revision 9526)
+++ code/trunk/src/modules/objects/SpaceBoundaries.cc	(revision 9667)
@@ -32,5 +32,5 @@
 
 #include "core/CoreIncludes.h"
-#include "core/ObjectListIterator.h"
+#include "core/object/ObjectListIterator.h"
 #include "core/XMLPort.h"
 
@@ -42,7 +42,7 @@
 namespace orxonox
 {
-    CreateFactory(SpaceBoundaries);
-
-    SpaceBoundaries::SpaceBoundaries(BaseObject* creator) : StaticEntity(creator)
+    RegisterClass(SpaceBoundaries);
+
+    SpaceBoundaries::SpaceBoundaries(Context* context) : StaticEntity(context)
     {
         RegisterObject(SpaceBoundaries);
@@ -73,5 +73,5 @@
     {
         pawnsIn_.clear();
-        for(ObjectListIterator<Pawn> current = ObjectList<Pawn>::begin(); current != ObjectList<Pawn>::end(); ++current)
+        for(ObjectList<Pawn>::iterator current = ObjectList<Pawn>::begin(); current != ObjectList<Pawn>::end(); ++current)
         {
             Pawn* currentPawn = *current;
@@ -104,5 +104,5 @@
         if (current == this->billboards_.size())
         {
-            Billboard* billboard = new Billboard(this);
+            Billboard* billboard = new Billboard(this->getContext());
             billboard->setPosition(position);
             billboard->setSyncMode(ObjectDirection::None);
Index: code/trunk/src/modules/objects/SpaceBoundaries.h
===================================================================
--- code/trunk/src/modules/objects/SpaceBoundaries.h	(revision 9526)
+++ code/trunk/src/modules/objects/SpaceBoundaries.h	(revision 9667)
@@ -36,6 +36,5 @@
 #include <vector>
 
-#include "core/CoreIncludes.h"
-#include "core/WeakPtr.h"
+#include "core/object/WeakPtr.h"
 
 #include "tools/interfaces/Tickable.h"
@@ -76,5 +75,5 @@
     {
         public:
-            SpaceBoundaries(BaseObject* creator);
+            SpaceBoundaries(Context* context);
             ~SpaceBoundaries();
 
Index: code/trunk/src/modules/objects/Turret.cc
===================================================================
--- code/trunk/src/modules/objects/Turret.cc	(revision 9526)
+++ code/trunk/src/modules/objects/Turret.cc	(revision 9667)
@@ -35,13 +35,13 @@
 namespace orxonox
 {
-    CreateFactory(Turret);
+    RegisterClass(Turret);
 
     /**
      * @brief Constructor
      */
-    Turret::Turret(BaseObject* creator) : SpaceShip(creator)
+    Turret::Turret(Context* context) : SpaceShip(context)
     {
         RegisterObject(Turret);
-        this->controller_ = new WaypointPatrolController(this);
+        this->controller_ = new WaypointPatrolController(this->getContext());
     }
 
Index: code/trunk/src/modules/objects/Turret.h
===================================================================
--- code/trunk/src/modules/objects/Turret.h	(revision 9526)
+++ code/trunk/src/modules/objects/Turret.h	(revision 9667)
@@ -45,5 +45,5 @@
     {
         public:
-            Turret(BaseObject* creator);
+            Turret(Context* context);
             virtual ~Turret();
 
Index: code/trunk/src/modules/objects/collisionshapes/BoxCollisionShape.cc
===================================================================
--- code/trunk/src/modules/objects/collisionshapes/BoxCollisionShape.cc	(revision 9526)
+++ code/trunk/src/modules/objects/collisionshapes/BoxCollisionShape.cc	(revision 9667)
@@ -42,5 +42,5 @@
 namespace orxonox
 {
-    CreateFactory(BoxCollisionShape);
+    RegisterClass(BoxCollisionShape);
 
     /**
@@ -48,5 +48,5 @@
         Constructor. Registers and initializes the object.
     */
-    BoxCollisionShape::BoxCollisionShape(BaseObject* creator) : CollisionShape(creator)
+    BoxCollisionShape::BoxCollisionShape(Context* context) : CollisionShape(context)
     {
         RegisterObject(BoxCollisionShape);
Index: code/trunk/src/modules/objects/collisionshapes/BoxCollisionShape.h
===================================================================
--- code/trunk/src/modules/objects/collisionshapes/BoxCollisionShape.h	(revision 9526)
+++ code/trunk/src/modules/objects/collisionshapes/BoxCollisionShape.h	(revision 9667)
@@ -57,5 +57,5 @@
     {
         public:
-            BoxCollisionShape(BaseObject* creator);
+            BoxCollisionShape(Context* context);
             virtual ~BoxCollisionShape();
 
Index: code/trunk/src/modules/objects/collisionshapes/ConeCollisionShape.cc
===================================================================
--- code/trunk/src/modules/objects/collisionshapes/ConeCollisionShape.cc	(revision 9526)
+++ code/trunk/src/modules/objects/collisionshapes/ConeCollisionShape.cc	(revision 9667)
@@ -42,5 +42,5 @@
 namespace orxonox
 {
-    CreateFactory(ConeCollisionShape);
+    RegisterClass(ConeCollisionShape);
 
     /**
@@ -48,5 +48,5 @@
         Constructor. Registers and initializes the object.
     */
-    ConeCollisionShape::ConeCollisionShape(BaseObject* creator) : CollisionShape(creator)
+    ConeCollisionShape::ConeCollisionShape(Context* context) : CollisionShape(context)
     {
         RegisterObject(ConeCollisionShape);
Index: code/trunk/src/modules/objects/collisionshapes/ConeCollisionShape.h
===================================================================
--- code/trunk/src/modules/objects/collisionshapes/ConeCollisionShape.h	(revision 9526)
+++ code/trunk/src/modules/objects/collisionshapes/ConeCollisionShape.h	(revision 9667)
@@ -55,5 +55,5 @@
     {
         public:
-            ConeCollisionShape(BaseObject* creator);
+            ConeCollisionShape(Context* context);
             virtual ~ConeCollisionShape();
 
Index: code/trunk/src/modules/objects/collisionshapes/PlaneCollisionShape.cc
===================================================================
--- code/trunk/src/modules/objects/collisionshapes/PlaneCollisionShape.cc	(revision 9526)
+++ code/trunk/src/modules/objects/collisionshapes/PlaneCollisionShape.cc	(revision 9667)
@@ -42,5 +42,5 @@
 namespace orxonox
 {
-    CreateFactory(PlaneCollisionShape);
+    RegisterClass(PlaneCollisionShape);
 
     /**
@@ -48,5 +48,5 @@
         Constructor. Registers and initializes the object.
     */
-    PlaneCollisionShape::PlaneCollisionShape(BaseObject* creator) : CollisionShape(creator)
+    PlaneCollisionShape::PlaneCollisionShape(Context* context) : CollisionShape(context)
     {
         RegisterObject(PlaneCollisionShape);
Index: code/trunk/src/modules/objects/collisionshapes/PlaneCollisionShape.h
===================================================================
--- code/trunk/src/modules/objects/collisionshapes/PlaneCollisionShape.h	(revision 9526)
+++ code/trunk/src/modules/objects/collisionshapes/PlaneCollisionShape.h	(revision 9667)
@@ -57,5 +57,5 @@
     {
         public:
-            PlaneCollisionShape(BaseObject* creator);
+            PlaneCollisionShape(Context* context);
             virtual ~PlaneCollisionShape();
 
Index: code/trunk/src/modules/objects/collisionshapes/SphereCollisionShape.cc
===================================================================
--- code/trunk/src/modules/objects/collisionshapes/SphereCollisionShape.cc	(revision 9526)
+++ code/trunk/src/modules/objects/collisionshapes/SphereCollisionShape.cc	(revision 9667)
@@ -42,5 +42,5 @@
 namespace orxonox
 {
-    CreateFactory(SphereCollisionShape);
+    RegisterClass(SphereCollisionShape);
 
     /**
@@ -48,5 +48,5 @@
         Constructor. registers and initializes the object.
     */
-    SphereCollisionShape::SphereCollisionShape(BaseObject* creator) : CollisionShape(creator)
+    SphereCollisionShape::SphereCollisionShape(Context* context) : CollisionShape(context)
     {
         RegisterObject(SphereCollisionShape);
Index: code/trunk/src/modules/objects/collisionshapes/SphereCollisionShape.h
===================================================================
--- code/trunk/src/modules/objects/collisionshapes/SphereCollisionShape.h	(revision 9526)
+++ code/trunk/src/modules/objects/collisionshapes/SphereCollisionShape.h	(revision 9667)
@@ -55,5 +55,5 @@
     {
         public:
-            SphereCollisionShape(BaseObject* creator);
+            SphereCollisionShape(Context* context);
             virtual ~SphereCollisionShape();
 
Index: code/trunk/src/modules/objects/eventsystem/EventDispatcher.cc
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventDispatcher.cc	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventDispatcher.cc	(revision 9667)
@@ -35,7 +35,7 @@
 namespace orxonox
 {
-    CreateFactory(EventDispatcher);
+    RegisterClass(EventDispatcher);
 
-    EventDispatcher::EventDispatcher(BaseObject* creator) : BaseObject(creator)
+    EventDispatcher::EventDispatcher(Context* context) : BaseObject(context)
     {
         RegisterObject(EventDispatcher);
Index: code/trunk/src/modules/objects/eventsystem/EventDispatcher.h
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventDispatcher.h	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventDispatcher.h	(revision 9667)
@@ -46,5 +46,5 @@
     {
         public:
-            EventDispatcher(BaseObject* creator);
+            EventDispatcher(Context* context);
             virtual ~EventDispatcher();
 
Index: code/trunk/src/modules/objects/eventsystem/EventFilter.cc
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventFilter.cc	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventFilter.cc	(revision 9667)
@@ -36,7 +36,7 @@
 namespace orxonox
 {
-    CreateFactory(EventFilter);
+    RegisterClass(EventFilter);
 
-    EventFilter::EventFilter(BaseObject* creator) : BaseObject(creator)
+    EventFilter::EventFilter(Context* context) : BaseObject(context)
     {
         RegisterObject(EventFilter);
Index: code/trunk/src/modules/objects/eventsystem/EventFilter.h
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventFilter.h	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventFilter.h	(revision 9667)
@@ -46,5 +46,5 @@
     {
         public:
-            EventFilter(BaseObject* creator);
+            EventFilter(Context* context);
             virtual ~EventFilter();
 
Index: code/trunk/src/modules/objects/eventsystem/EventListener.cc
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventListener.cc	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventListener.cc	(revision 9667)
@@ -35,7 +35,7 @@
 namespace orxonox
 {
-    CreateFactory(EventListener);
+    RegisterClass(EventListener);
 
-    EventListener::EventListener(BaseObject* creator) : BaseObject(creator)
+    EventListener::EventListener(Context* context) : BaseObject(context)
     {
         RegisterObject(EventListener);
Index: code/trunk/src/modules/objects/eventsystem/EventListener.h
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventListener.h	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventListener.h	(revision 9667)
@@ -47,5 +47,5 @@
     {
         public:
-            EventListener(BaseObject* creator);
+            EventListener(Context* context);
             virtual ~EventListener();
 
Index: code/trunk/src/modules/objects/eventsystem/EventName.cc
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventName.cc	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventName.cc	(revision 9667)
@@ -32,7 +32,7 @@
 namespace orxonox
 {
-    CreateFactory(EventName);
+    RegisterClass(EventName);
 
-    EventName::EventName(BaseObject* creator) : BaseObject(creator)
+    EventName::EventName(Context* context) : BaseObject(context)
     {
         RegisterObject(EventName);
Index: code/trunk/src/modules/objects/eventsystem/EventName.h
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventName.h	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventName.h	(revision 9667)
@@ -45,5 +45,5 @@
     {
         public:
-            EventName(BaseObject* creator);
+            EventName(Context* context);
             virtual ~EventName() {}
     };
Index: code/trunk/src/modules/objects/eventsystem/EventTarget.cc
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventTarget.cc	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventTarget.cc	(revision 9667)
@@ -33,7 +33,7 @@
 namespace orxonox
 {
-    CreateFactory(EventTarget);
+    RegisterClass(EventTarget);
 
-    EventTarget::EventTarget(BaseObject* creator) : BaseObject(creator)
+    EventTarget::EventTarget(Context* context) : BaseObject(context)
     {
         RegisterObject(EventTarget);
Index: code/trunk/src/modules/objects/eventsystem/EventTarget.h
===================================================================
--- code/trunk/src/modules/objects/eventsystem/EventTarget.h	(revision 9526)
+++ code/trunk/src/modules/objects/eventsystem/EventTarget.h	(revision 9667)
@@ -46,5 +46,5 @@
     {
         public:
-            EventTarget(BaseObject* creator);
+            EventTarget(Context* context);
             virtual ~EventTarget();
 
Index: code/trunk/src/modules/objects/triggers/CheckPoint.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/CheckPoint.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/CheckPoint.cc	(revision 9667)
@@ -42,9 +42,9 @@
 namespace orxonox
 {
-    CreateFactory(CheckPoint);
+    RegisterClass(CheckPoint);
 
-    CheckPoint::CheckPoint(BaseObject* creator)
-        : DistanceTrigger(creator)
-        , RadarViewable(creator, static_cast<WorldEntity*>(this))
+    CheckPoint::CheckPoint(Context* context)
+        : DistanceTrigger(context)
+        , RadarViewable(this, static_cast<WorldEntity*>(this))
     {
         RegisterObject(CheckPoint);
Index: code/trunk/src/modules/objects/triggers/CheckPoint.h
===================================================================
--- code/trunk/src/modules/objects/triggers/CheckPoint.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/CheckPoint.h	(revision 9667)
@@ -55,5 +55,5 @@
     {
     public:
-        CheckPoint(BaseObject* creator);
+        CheckPoint(Context* context);
         virtual ~CheckPoint();
 
Index: code/trunk/src/modules/objects/triggers/DistanceMultiTrigger.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/DistanceMultiTrigger.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/DistanceMultiTrigger.cc	(revision 9667)
@@ -47,5 +47,5 @@
     /*static*/ const std::string DistanceMultiTrigger::beaconModeExlcude_s = "exclude";
     
-    CreateFactory(DistanceMultiTrigger);
+    RegisterClass(DistanceMultiTrigger);
 
     /**
@@ -53,5 +53,5 @@
         Default Constructor. Registers the object and initializes default values.
     */
-    DistanceMultiTrigger::DistanceMultiTrigger(BaseObject* creator) : MultiTrigger(creator)
+    DistanceMultiTrigger::DistanceMultiTrigger(Context* context) : MultiTrigger(context)
     {
         RegisterObject(DistanceMultiTrigger);
Index: code/trunk/src/modules/objects/triggers/DistanceMultiTrigger.h
===================================================================
--- code/trunk/src/modules/objects/triggers/DistanceMultiTrigger.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/DistanceMultiTrigger.h	(revision 9667)
@@ -40,5 +40,5 @@
 #include <map>
 
-#include "core/WeakPtr.h"
+#include "core/object/WeakPtr.h"
 
 #include "worldentities/WorldEntity.h"
@@ -95,5 +95,5 @@
 
         public:
-            DistanceMultiTrigger(BaseObject* creator); // Default Constructor. Registers the object and initializes default values.
+            DistanceMultiTrigger(Context* context); // Default Constructor. Registers the object and initializes default values.
             virtual ~DistanceMultiTrigger(); // Destructor.
 
Index: code/trunk/src/modules/objects/triggers/DistanceTrigger.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/DistanceTrigger.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/DistanceTrigger.cc	(revision 9667)
@@ -49,5 +49,5 @@
     /*static*/ const std::string DistanceTrigger::beaconModeExlcude_s = "exclude";
 
-    CreateFactory(DistanceTrigger);
+    RegisterClass(DistanceTrigger);
 
     /**
@@ -57,5 +57,5 @@
         The creator of this trigger.
     */
-    DistanceTrigger::DistanceTrigger(BaseObject* creator) : Trigger(creator)
+    DistanceTrigger::DistanceTrigger(Context* context) : Trigger(context)
     {
         RegisterObject(DistanceTrigger);
Index: code/trunk/src/modules/objects/triggers/DistanceTrigger.h
===================================================================
--- code/trunk/src/modules/objects/triggers/DistanceTrigger.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/DistanceTrigger.h	(revision 9667)
@@ -97,5 +97,5 @@
     {
         public:
-            DistanceTrigger(BaseObject* creator); // Constructor. Registers and initializes the object.
+            DistanceTrigger(Context* context); // Constructor. Registers and initializes the object.
             virtual ~DistanceTrigger();
 
Index: code/trunk/src/modules/objects/triggers/DistanceTriggerBeacon.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/DistanceTriggerBeacon.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/DistanceTriggerBeacon.cc	(revision 9667)
@@ -40,5 +40,5 @@
 {
 
-    CreateFactory(DistanceTriggerBeacon);
+    RegisterClass(DistanceTriggerBeacon);
 
     /**
@@ -48,5 +48,5 @@
         The creator of this object.
     */
-    DistanceTriggerBeacon::DistanceTriggerBeacon(BaseObject* creator) : StaticEntity(creator)
+    DistanceTriggerBeacon::DistanceTriggerBeacon(Context* context) : StaticEntity(context)
     {
         RegisterObject(DistanceTriggerBeacon);
Index: code/trunk/src/modules/objects/triggers/DistanceTriggerBeacon.h
===================================================================
--- code/trunk/src/modules/objects/triggers/DistanceTriggerBeacon.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/DistanceTriggerBeacon.h	(revision 9667)
@@ -57,5 +57,5 @@
 
         public:
-            DistanceTriggerBeacon(BaseObject* creator); //!< Constructor.
+            DistanceTriggerBeacon(Context* context); //!< Constructor.
             virtual ~DistanceTriggerBeacon() {} //!< Destructor.
 
Index: code/trunk/src/modules/objects/triggers/EventMultiTrigger.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/EventMultiTrigger.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/EventMultiTrigger.cc	(revision 9667)
@@ -43,5 +43,5 @@
 {
 
-    CreateFactory(EventMultiTrigger);
+    RegisterClass(EventMultiTrigger);
 
     /**
@@ -49,5 +49,5 @@
         Constructor. Registers the object.
     */
-    EventMultiTrigger::EventMultiTrigger(BaseObject* creator) : MultiTrigger(creator)
+    EventMultiTrigger::EventMultiTrigger(Context* context) : MultiTrigger(context)
     {
         RegisterObject(EventMultiTrigger);
Index: code/trunk/src/modules/objects/triggers/EventMultiTrigger.h
===================================================================
--- code/trunk/src/modules/objects/triggers/EventMultiTrigger.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/EventMultiTrigger.h	(revision 9667)
@@ -73,5 +73,5 @@
 
         public:
-            EventMultiTrigger(BaseObject* creator); //!< Constructor. Registers the object.
+            EventMultiTrigger(Context* context); //!< Constructor. Registers the object.
             virtual ~EventMultiTrigger(); //!< Destructor.
 
Index: code/trunk/src/modules/objects/triggers/EventTrigger.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/EventTrigger.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/EventTrigger.cc	(revision 9667)
@@ -40,5 +40,5 @@
 namespace orxonox
 {
-    CreateFactory(EventTrigger);
+    RegisterClass(EventTrigger);
 
     /**
@@ -48,5 +48,5 @@
         The creator of the EventTrigger.
     */
-    EventTrigger::EventTrigger(BaseObject* creator) : Trigger(creator)
+    EventTrigger::EventTrigger(Context* context) : Trigger(context)
     {
         RegisterObject(EventTrigger);
Index: code/trunk/src/modules/objects/triggers/EventTrigger.h
===================================================================
--- code/trunk/src/modules/objects/triggers/EventTrigger.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/EventTrigger.h	(revision 9667)
@@ -70,5 +70,5 @@
     {
         public:
-            EventTrigger(BaseObject* creator); // Constructor. Registers and initializes the object.
+            EventTrigger(Context* context); // Constructor. Registers and initializes the object.
             virtual ~EventTrigger();
 
Index: code/trunk/src/modules/objects/triggers/MultiTrigger.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/MultiTrigger.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/MultiTrigger.cc	(revision 9667)
@@ -43,5 +43,5 @@
 {
 
-    CreateFactory(MultiTrigger);
+    RegisterClass(MultiTrigger);
 
     /**
@@ -51,5 +51,5 @@
         The creator.
     */
-    MultiTrigger::MultiTrigger(BaseObject* creator) : TriggerBase(creator)
+    MultiTrigger::MultiTrigger(Context* context) : TriggerBase(context)
     {
         RegisterObject(MultiTrigger);
@@ -451,5 +451,5 @@
         }
 
-        MultiTriggerContainer* container = new MultiTriggerContainer(this, this, originator);
+        MultiTriggerContainer* container = new MultiTriggerContainer(this->getContext(), this, originator);
         this->fireEvent(status, container);
         orxout(verbose, context::triggers) << "MultiTrigger '" <<  this->getName() << "' (&" << this << "): Fired event. originator: " << originator->getIdentifier()->getName() << " (&" << originator << "), status: " << status << "." << endl;
Index: code/trunk/src/modules/objects/triggers/MultiTrigger.h
===================================================================
--- code/trunk/src/modules/objects/triggers/MultiTrigger.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/MultiTrigger.h	(revision 9667)
@@ -99,5 +99,5 @@
     {
         public:
-            MultiTrigger(BaseObject* creator); //!< Constructor. Registers the objects and initializes default values.
+            MultiTrigger(Context* context); //!< Constructor. Registers the objects and initializes default values.
             virtual ~MultiTrigger(); //!< Destructor.
 
Index: code/trunk/src/modules/objects/triggers/MultiTriggerContainer.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/MultiTriggerContainer.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/MultiTriggerContainer.cc	(revision 9667)
@@ -42,5 +42,5 @@
 {
 
-    CreateUnloadableFactory(MultiTriggerContainer);
+    RegisterUnloadableClass(MultiTriggerContainer);
 
     /**
@@ -50,5 +50,5 @@
         The creator.
     */
-    MultiTriggerContainer::MultiTriggerContainer(BaseObject* creator) : BaseObject(creator), originator_(NULL), data_(NULL)
+    MultiTriggerContainer::MultiTriggerContainer(Context* context) : BaseObject(context), originator_(NULL), data_(NULL)
     {
         RegisterObject(MultiTriggerContainer);
@@ -65,5 +65,5 @@
         A pointer to the data that should be sent with the container.
     */
-    MultiTriggerContainer::MultiTriggerContainer(BaseObject* creator, MultiTrigger* originator, BaseObject* data) : BaseObject(creator), originator_(originator), data_(data)
+    MultiTriggerContainer::MultiTriggerContainer(Context* context, MultiTrigger* originator, BaseObject* data) : BaseObject(context), originator_(originator), data_(data)
     {
         RegisterObject(MultiTriggerContainer);
Index: code/trunk/src/modules/objects/triggers/MultiTriggerContainer.h
===================================================================
--- code/trunk/src/modules/objects/triggers/MultiTriggerContainer.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/MultiTriggerContainer.h	(revision 9667)
@@ -58,6 +58,6 @@
 
         public:
-            MultiTriggerContainer(BaseObject* creator); //!< Default constructor. Registers the object and creates an empty container.
-            MultiTriggerContainer(BaseObject* creator, MultiTrigger* originator, BaseObject* data); //!< Constructor. Registers the object and sets the input values.
+            MultiTriggerContainer(Context* context); //!< Default constructor. Registers the object and creates an empty container.
+            MultiTriggerContainer(Context* context, MultiTrigger* originator, BaseObject* data); //!< Constructor. Registers the object and sets the input values.
             virtual ~MultiTriggerContainer(); //!< Destructor.
 
Index: code/trunk/src/modules/objects/triggers/Trigger.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/Trigger.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/Trigger.cc	(revision 9667)
@@ -47,5 +47,5 @@
     SetConsoleCommand("Trigger", "debugFlares", &Trigger::debugFlares).defaultValues(false);
 
-    CreateFactory(Trigger);
+    RegisterClass(Trigger);
 
     /**
@@ -55,5 +55,5 @@
         The creator of the Trigger.
     */
-    Trigger::Trigger(BaseObject* creator) : TriggerBase(creator)
+    Trigger::Trigger(Context* context) : TriggerBase(context)
     {
         RegisterObject(Trigger);
Index: code/trunk/src/modules/objects/triggers/Trigger.h
===================================================================
--- code/trunk/src/modules/objects/triggers/Trigger.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/Trigger.h	(revision 9667)
@@ -80,5 +80,5 @@
     {
         public:
-            Trigger(BaseObject* creator); // Constructor. Registers and initializes the object.
+            Trigger(Context* context); // Constructor. Registers and initializes the object.
             virtual ~Trigger();
 
Index: code/trunk/src/modules/objects/triggers/TriggerBase.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/TriggerBase.cc	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/TriggerBase.cc	(revision 9667)
@@ -46,5 +46,5 @@
     /*static*/ const std::string TriggerBase::xor_s = "xor";
 
-    CreateFactory(TriggerBase);
+    RegisterClass(TriggerBase);
 
     /**
@@ -52,5 +52,5 @@
         Constructor. Registers the object and initializes some values.
     */
-    TriggerBase::TriggerBase(BaseObject* creator) : StaticEntity(creator)
+    TriggerBase::TriggerBase(Context* context) : StaticEntity(context)
     {
         RegisterObject(TriggerBase);
Index: code/trunk/src/modules/objects/triggers/TriggerBase.h
===================================================================
--- code/trunk/src/modules/objects/triggers/TriggerBase.h	(revision 9526)
+++ code/trunk/src/modules/objects/triggers/TriggerBase.h	(revision 9667)
@@ -74,5 +74,5 @@
     {
         public:
-            TriggerBase(BaseObject* creator);
+            TriggerBase(Context* context);
             virtual ~TriggerBase();
 
