Index: code/branches/core6/src/libraries/core/BaseObject.cc
===================================================================
--- code/branches/core6/src/libraries/core/BaseObject.cc	(revision 9628)
+++ code/branches/core6/src/libraries/core/BaseObject.cc	(revision 9629)
@@ -55,5 +55,5 @@
         @brief Constructor: Registers the object in the BaseObject-list.
     */
-    BaseObject::BaseObject(BaseObject* creator) : bInitialized_(false)
+    BaseObject::BaseObject(Context* context) : bInitialized_(false)
     {
         RegisterRootObject(BaseObject);
@@ -70,4 +70,8 @@
         this->mainStateFunctor_ = 0;
 
+        if (context)
+            this->setContext(context);
+
+        BaseObject* creator = orxonox_cast<BaseObject*>(context);
         this->setCreator(creator);
         if (this->creator_)
@@ -201,5 +205,5 @@
         {
             this->networkTemplateNames_.insert(temp->getLink());
-            
+
             Template* link;
             assert(!(link = Template::getTemplate(temp->getLink())) || !link->isLink());
Index: code/branches/core6/src/libraries/core/BaseObject.h
===================================================================
--- code/branches/core6/src/libraries/core/BaseObject.h	(revision 9628)
+++ code/branches/core6/src/libraries/core/BaseObject.h	(revision 9629)
@@ -65,5 +65,5 @@
 
         public:
-            BaseObject(BaseObject* creator);
+            BaseObject(Context* context);
             virtual ~BaseObject();
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
Index: code/branches/core6/src/libraries/core/Loader.cc
===================================================================
--- code/branches/core6/src/libraries/core/Loader.cc	(revision 9628)
+++ code/branches/core6/src/libraries/core/Loader.cc	(revision 9629)
@@ -209,5 +209,5 @@
 
             orxout(verbose, context::loader) << "  creating root-namespace..." << endl;
-            Namespace* rootNamespace = new Namespace(0);
+            Namespace* rootNamespace = new Namespace(Context::getRootContext());
             rootNamespace->setLoaderIndentation("    ");
             rootNamespace->setFile(file);
Index: code/branches/core6/src/libraries/core/Namespace.cc
===================================================================
--- code/branches/core6/src/libraries/core/Namespace.cc	(revision 9628)
+++ code/branches/core6/src/libraries/core/Namespace.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateFactory(Namespace);
 
-    Namespace::Namespace(BaseObject* creator) : BaseObject(creator),
+    Namespace::Namespace(Context* context) : BaseObject(context), Context(context),
       bAutogeneratedFileRootNamespace_(false),
       bRoot_(false),
Index: code/branches/core6/src/libraries/core/Namespace.h
===================================================================
--- code/branches/core6/src/libraries/core/Namespace.h	(revision 9628)
+++ code/branches/core6/src/libraries/core/Namespace.h	(revision 9629)
@@ -40,11 +40,12 @@
 #include <string>
 #include "BaseObject.h"
+#include "object/Context.h"
 
 namespace orxonox
 {
-    class Namespace : public BaseObject
+    class Namespace : public BaseObject, public Context
     {
         public:
-            Namespace(BaseObject* creator);
+            Namespace(Context* context);
             virtual ~Namespace();
 
Index: code/branches/core6/src/libraries/core/Template.cc
===================================================================
--- code/branches/core6/src/libraries/core/Template.cc	(revision 9628)
+++ code/branches/core6/src/libraries/core/Template.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateFactory(Template);
 
-    Template::Template(BaseObject* creator) : BaseObject(creator)
+    Template::Template(Context* context) : BaseObject(context)
     {
         this->xmlelement_ = new TiXmlElement("");
Index: code/branches/core6/src/libraries/core/Template.h
===================================================================
--- code/branches/core6/src/libraries/core/Template.h	(revision 9628)
+++ code/branches/core6/src/libraries/core/Template.h	(revision 9629)
@@ -51,5 +51,5 @@
     {
         public:
-            Template(BaseObject* creator);
+            Template(Context* context);
             virtual ~Template();
 
Index: code/branches/core6/src/libraries/core/XMLPort.cc
===================================================================
--- code/branches/core6/src/libraries/core/XMLPort.cc	(revision 9628)
+++ code/branches/core6/src/libraries/core/XMLPort.cc	(revision 9629)
@@ -89,5 +89,5 @@
                         orxout(verbose, context::xml) << object->getLoaderIndentation() << "fabricating " << child->Value() << "..." << endl;
 
-                        BaseObject* newObject = orxonox_cast<BaseObject*>(identifier->fabricate(object));
+                        BaseObject* newObject = orxonox_cast<BaseObject*>(identifier->fabricate(object->getContext()));
                         newObject->setLoaderIndentation(object->getLoaderIndentation() + "  ");
 
Index: code/branches/core6/src/libraries/core/class/Identifier.cc
===================================================================
--- code/branches/core6/src/libraries/core/class/Identifier.cc	(revision 9628)
+++ code/branches/core6/src/libraries/core/class/Identifier.cc	(revision 9629)
@@ -174,9 +174,9 @@
         @return The new object
     */
-    OrxonoxClass* Identifier::fabricate(BaseObject* creator)
+    OrxonoxClass* Identifier::fabricate(Context* context)
     {
         if (this->factory_)
         {
-            return this->factory_->fabricate(creator);
+            return this->factory_->fabricate(context);
         }
         else
Index: code/branches/core6/src/libraries/core/class/Identifier.h
===================================================================
--- code/branches/core6/src/libraries/core/class/Identifier.h	(revision 9628)
+++ code/branches/core6/src/libraries/core/class/Identifier.h	(revision 9629)
@@ -125,5 +125,5 @@
             inline bool hasFactory() const { return (this->factory_ != 0); }
 
-            OrxonoxClass* fabricate(BaseObject* creator);
+            OrxonoxClass* fabricate(Context* context);
 
             /// Returns true if the class can be loaded through XML.
Index: code/branches/core6/src/libraries/core/class/SubclassIdentifier.h
===================================================================
--- code/branches/core6/src/libraries/core/class/SubclassIdentifier.h	(revision 9628)
+++ code/branches/core6/src/libraries/core/class/SubclassIdentifier.h	(revision 9629)
@@ -163,7 +163,7 @@
 
             /// Creates a new object of the type of the assigned Identifier and dynamic_casts it to the minimal type given by T.
-            T* fabricate(BaseObject* creator) const
-            {
-                OrxonoxClass* newObject = this->identifier_->fabricate(creator);
+            T* fabricate(Context* context) const
+            {
+                OrxonoxClass* newObject = this->identifier_->fabricate(context);
 
                 // Check if the creation was successful
Index: code/branches/core6/src/libraries/core/object/ClassFactory.h
===================================================================
--- code/branches/core6/src/libraries/core/object/ClassFactory.h	(revision 9628)
+++ code/branches/core6/src/libraries/core/object/ClassFactory.h	(revision 9629)
@@ -55,5 +55,5 @@
         public:
             virtual ~Factory() {};
-            virtual OrxonoxClass* fabricate(BaseObject* creator) = 0;
+            virtual OrxonoxClass* fabricate(Context* context) = 0;
     };
 
@@ -82,7 +82,7 @@
                 @return The new object
             */
-            inline OrxonoxClass* fabricate(BaseObject* creator)
+            inline OrxonoxClass* fabricate(Context* context)
             {
-                return static_cast<OrxonoxClass*>(new T(creator));
+                return static_cast<OrxonoxClass*>(new T(context));
             }
     };
Index: code/branches/core6/src/libraries/core/object/Context.cc
===================================================================
--- code/branches/core6/src/libraries/core/object/Context.cc	(revision 9628)
+++ code/branches/core6/src/libraries/core/object/Context.cc	(revision 9629)
@@ -56,5 +56,5 @@
     /*static*/ Context* Context::getRootContext()
     {
-        static Context rootContext;
+        static Context rootContext(NULL);
         return &rootContext;
     }
Index: code/branches/core6/src/libraries/core/object/Context.h
===================================================================
--- code/branches/core6/src/libraries/core/object/Context.h	(revision 9628)
+++ code/branches/core6/src/libraries/core/object/Context.h	(revision 9629)
@@ -48,5 +48,5 @@
             static Context* getRootContext();
 
-            Context(Context* context = NULL);
+            Context(Context* context);
             virtual ~Context();
 
Index: code/branches/core6/src/libraries/network/packet/Gamestate.cc
===================================================================
--- code/branches/core6/src/libraries/network/packet/Gamestate.cc	(revision 9628)
+++ code/branches/core6/src/libraries/network/packet/Gamestate.cc	(revision 9629)
@@ -133,5 +133,5 @@
     tempsize = it->getData(mem, this->sizes_, id, mode);
     if ( tempsize != 0 )
-      dataVector_.push_back( obj(it->getObjectID(), it->getCreatorID(), tempsize, mem-data_) );
+      dataVector_.push_back( obj(it->getObjectID(), it->getContextID(), tempsize, mem-data_) );
 
 #ifndef NDEBUG
@@ -469,5 +469,5 @@
     {
       assert( objectHeader.getClassID() == htemp.getClassID() );
-      assert( objectHeader.getCreatorID() == htemp.getCreatorID() );
+      assert( objectHeader.getContextID() == htemp.getContextID() );
       return true;
     }
Index: code/branches/core6/src/libraries/network/synchronisable/Synchronisable.cc
===================================================================
--- code/branches/core6/src/libraries/network/synchronisable/Synchronisable.cc	(revision 9628)
+++ code/branches/core6/src/libraries/network/synchronisable/Synchronisable.cc	(revision 9629)
@@ -49,5 +49,5 @@
   * Initializes all Variables and sets the right objectID_
   */
-  Synchronisable::Synchronisable(BaseObject* creator )
+  Synchronisable::Synchronisable(Context* context)
   {
     RegisterRootObject(Synchronisable);
@@ -69,9 +69,6 @@
     this->setPriority( Priority::Normal );
 
-    // get creator id
-    if( creator )
-      this->creatorID_ = creator->getSceneID();
-    else
-      this->creatorID_ = OBJECTID_UNKNOWN;
+    // get context id
+    this->contextID_ = this->findContextID(context);
   }
 
@@ -100,4 +97,19 @@
   }
 
+  /**
+   * @brief Returns the id of the context.
+   * If the context is not Synchronisable, it moves on to its parent, recursively.
+   */
+  uint32_t Synchronisable::findContextID(Context* context)
+  {
+      if (context == NULL)
+          return OBJECTID_UNKNOWN;
+
+      Synchronisable* synchronisableContext = orxonox_cast<Synchronisable*>(context);
+      if (synchronisableContext != NULL)
+          return synchronisableContext->getObjectID();
+      else
+          return this->findContextID(context->getParentContext());
+  }
 
   /**
@@ -142,9 +154,9 @@
     }
     assert(id);
-    BaseObject* creator = 0;
-    if (header.getCreatorID() != OBJECTID_UNKNOWN)
-    {
-      Synchronisable* synchronisable_creator = Synchronisable::getSynchronisable(header.getCreatorID());
-      if (!synchronisable_creator)
+    Context* context = 0;
+    if (header.getContextID() != OBJECTID_UNKNOWN)
+    {
+      Synchronisable* synchronisable_context = Synchronisable::getSynchronisable(header.getContextID());
+      if (!synchronisable_context)
       {
         mem += header.getDataSize()+SynchronisableHeader::getSize(); //.TODO: this suckz.... remove size from header
@@ -153,8 +165,8 @@
       }
       else
-        creator = orxonox_cast<BaseObject*>(synchronisable_creator);
+        context = orxonox_cast<Context*>(synchronisable_context);
     }
     assert(getSynchronisable(header.getObjectID())==0);   //make sure no object with this id exists
-    BaseObject *bo = orxonox_cast<BaseObject*>(id->fabricate(creator));
+    BaseObject *bo = orxonox_cast<BaseObject*>(id->fabricate(context));
     assert(bo);
     Synchronisable *no = orxonox_cast<Synchronisable*>(bo);
@@ -162,9 +174,13 @@
     assert( Synchronisable::objectMap_.find(header.getObjectID()) == Synchronisable::objectMap_.end() );
     no->setObjectID(header.getObjectID());
-    //no->creatorID=header.getCreatorID(); //TODO: remove this
+    //no->contextID=header.getContextID(); //TODO: remove this
     no->setClassID(header.getClassID());
-    assert(no->creatorID_ == header.getCreatorID());
-    if( creator )
-      bo->setLevel(creator->getLevel());          // Note: this ensures that the level is known on the client for child objects of the scene (and the scene itself)
+    assert(no->contextID_ == header.getContextID());
+    if( context )
+    {
+      BaseObject* boContext = orxonox_cast<BaseObject*>(context);
+      if (boContext)
+          bo->setLevel(boContext->getLevel()); // Note: this ensures that the level is known on the client for child objects of the scene (and the scene itself)
+    }
     //assert(no->classID_ == header.getClassID());
     orxout(verbose, context::network) << "fabricate objectID_: " << no->objectID_ << " classID_: " << no->classID_ << endl;
@@ -274,5 +290,5 @@
 
     header.setObjectID( this->objectID_ );
-    header.setCreatorID( this->creatorID_ );
+    header.setContextID( this->contextID_ );
     header.setClassID( this->classID_ );
     header.setDataSize( tempsize );
@@ -331,5 +347,5 @@
       SynchronisableHeader syncHeader2(mem);
       assert( this->getClassID() == syncHeader2.getClassID() );
-      assert( this->getCreatorID() == syncHeader2.getCreatorID() );
+      assert( this->getContextID() == syncHeader2.getContextID() );
       mem += SynchronisableHeader::getSize();
       std::vector<SynchronisableVariableBase *>::iterator i;
Index: code/branches/core6/src/libraries/network/synchronisable/Synchronisable.h
===================================================================
--- code/branches/core6/src/libraries/network/synchronisable/Synchronisable.h	(revision 9628)
+++ code/branches/core6/src/libraries/network/synchronisable/Synchronisable.h	(revision 9629)
@@ -107,5 +107,5 @@
    * @brief: stores information about a Synchronisable
    *
-   * This class stores the information about a Synchronisable (objectID_, classID_, creatorID_, dataSize)
+   * This class stores the information about a Synchronisable (objectID_, classID_, contextID_, dataSize)
    * in an emulated bitset.
    * Bit 1 to 31 store the size of the Data the synchronisable consumes in the stream
@@ -113,5 +113,5 @@
    * Byte 5 to 8: objectID_
    * Byte 9 to 12: classID_
-   * Byte 13 to 16: creatorID_
+   * Byte 13 to 16: contextID_
    */
   class _NetworkExport SynchronisableHeader: public SynchronisableHeaderLight
@@ -126,8 +126,8 @@
       inline void setClassID(uint32_t classID_)
         { *(uint32_t*)(data_+SynchronisableHeaderLight::getSize()) = classID_; }
-      inline uint32_t getCreatorID() const
+      inline uint32_t getContextID() const
         { return *(uint32_t*)(data_+SynchronisableHeaderLight::getSize()+4); }
-      inline void setCreatorID(uint32_t creatorID_)
-        { *(uint32_t*)(data_+SynchronisableHeaderLight::getSize()+4) = creatorID_; }
+      inline void setContextID(uint32_t contextID_)
+        { *(uint32_t*)(data_+SynchronisableHeaderLight::getSize()+4) = contextID_; }
       inline void operator=(SynchronisableHeader& h)
         { memcpy(data_, h.data_, getSize()); }
@@ -158,5 +158,5 @@
 
     inline uint32_t getObjectID() const {return this->objectID_;}
-    inline unsigned int getCreatorID() const {return this->creatorID_;}
+    inline unsigned int getContextID() const {return this->contextID_;}
     inline uint32_t getClassID() const {return this->classID_;}
     inline unsigned int getPriority() const { return this->objectFrequency_;}
@@ -170,5 +170,5 @@
 
   protected:
-    Synchronisable(BaseObject* creator);
+    Synchronisable(Context* context);
     template <class T> void registerVariable(T& variable, uint8_t mode=0x1, NetworkCallbackBase *cb=0, bool bidirectional=false);
     template <class T> void registerVariable(std::set<T>& variable, uint8_t mode=0x1, NetworkCallbackBase *cb=0, bool bidirectional=false);
@@ -176,5 +176,5 @@
 
     void setPriority(unsigned int freq){ objectFrequency_ = freq; }
-
+    uint32_t findContextID(Context* context);
 
   private:
@@ -189,5 +189,5 @@
 
     uint32_t objectID_;
-    uint32_t creatorID_;
+    uint32_t contextID_;
     uint32_t classID_;
 
Index: code/branches/core6/src/libraries/tools/ResourceCollection.cc
===================================================================
--- code/branches/core6/src/libraries/tools/ResourceCollection.cc	(revision 9628)
+++ code/branches/core6/src/libraries/tools/ResourceCollection.cc	(revision 9629)
@@ -39,6 +39,6 @@
     CreateFactory(ResourceCollection);
 
-    ResourceCollection::ResourceCollection(BaseObject* creator)
-        : BaseObject(creator)
+    ResourceCollection::ResourceCollection(Context* context)
+        : BaseObject(context)
     {
         RegisterObject(ResourceCollection);
Index: code/branches/core6/src/libraries/tools/ResourceCollection.h
===================================================================
--- code/branches/core6/src/libraries/tools/ResourceCollection.h	(revision 9628)
+++ code/branches/core6/src/libraries/tools/ResourceCollection.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
     public:
-        ResourceCollection(BaseObject* creator);
+        ResourceCollection(Context* context);
         virtual ~ResourceCollection();
 
Index: code/branches/core6/src/libraries/tools/ResourceLocation.cc
===================================================================
--- code/branches/core6/src/libraries/tools/ResourceLocation.cc	(revision 9628)
+++ code/branches/core6/src/libraries/tools/ResourceLocation.cc	(revision 9629)
@@ -43,6 +43,6 @@
     CreateFactory(ResourceLocation);
 
-    ResourceLocation::ResourceLocation(BaseObject* creator)
-        : BaseObject(creator)
+    ResourceLocation::ResourceLocation(Context* context)
+        : BaseObject(context)
     {
         RegisterObject(ResourceLocation);
Index: code/branches/core6/src/libraries/tools/ResourceLocation.h
===================================================================
--- code/branches/core6/src/libraries/tools/ResourceLocation.h	(revision 9628)
+++ code/branches/core6/src/libraries/tools/ResourceLocation.h	(revision 9629)
@@ -43,5 +43,5 @@
 
     public:
-        ResourceLocation(BaseObject* creator);
+        ResourceLocation(Context* context);
         virtual ~ResourceLocation();
 
Index: code/branches/core6/src/modules/designtools/CreateStars.cc
===================================================================
--- code/branches/core6/src/modules/designtools/CreateStars.cc	(revision 9628)
+++ code/branches/core6/src/modules/designtools/CreateStars.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(CreateStars);
 
-    CreateStars::CreateStars(BaseObject* creator) : BaseObject(creator)
+    CreateStars::CreateStars(Context* context) : BaseObject(context)
     {
         RegisterObject(CreateStars);
@@ -69,5 +69,5 @@
         for(int i=0; i < numStars_; i++)
         {
-            Billboard* bb = new Billboard(this);
+            Billboard* bb = new Billboard(this->getContext());
 
             float r = rnd(-colourDiff_,colourDiff_);
Index: code/branches/core6/src/modules/designtools/CreateStars.h
===================================================================
--- code/branches/core6/src/modules/designtools/CreateStars.h	(revision 9628)
+++ code/branches/core6/src/modules/designtools/CreateStars.h	(revision 9629)
@@ -38,5 +38,5 @@
     {
         public:
-            CreateStars(orxonox::BaseObject* creator);
+            CreateStars(Context* context);
             virtual ~CreateStars();
 
Index: code/branches/core6/src/modules/docking/Dock.cc
===================================================================
--- code/branches/core6/src/modules/docking/Dock.cc	(revision 9628)
+++ code/branches/core6/src/modules/docking/Dock.cc	(revision 9629)
@@ -53,5 +53,5 @@
     registerStaticNetworkFunction(Dock::showDockingDialog);
 
-    Dock::Dock(BaseObject* creator) : StaticEntity(creator)
+    Dock::Dock(Context* context) : StaticEntity(context)
     {
         RegisterObject(Dock);
Index: code/branches/core6/src/modules/docking/Dock.h
===================================================================
--- code/branches/core6/src/modules/docking/Dock.h	(revision 9628)
+++ code/branches/core6/src/modules/docking/Dock.h	(revision 9629)
@@ -57,5 +57,5 @@
     { // tolua_export
         public:
-            Dock(BaseObject* creator);
+            Dock(Context* context);
             virtual ~Dock();
 
Index: code/branches/core6/src/modules/docking/DockToShip.cc
===================================================================
--- code/branches/core6/src/modules/docking/DockToShip.cc	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockToShip.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateFactory(DockToShip);
 
-    DockToShip::DockToShip(BaseObject* creator) : DockingEffect(creator)
+    DockToShip::DockToShip(Context* context) : DockingEffect(context)
     {
         RegisterObject(DockToShip);
Index: code/branches/core6/src/modules/docking/DockToShip.h
===================================================================
--- code/branches/core6/src/modules/docking/DockToShip.h	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockToShip.h	(revision 9629)
@@ -57,5 +57,5 @@
     {
         public:
-            DockToShip(BaseObject* creator);
+            DockToShip(Context* context);
             virtual ~DockToShip();
 
Index: code/branches/core6/src/modules/docking/DockingAnimation.cc
===================================================================
--- code/branches/core6/src/modules/docking/DockingAnimation.cc	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockingAnimation.cc	(revision 9629)
@@ -39,5 +39,5 @@
 namespace orxonox
 {
-    DockingAnimation::DockingAnimation(BaseObject* creator) : BaseObject(creator)
+    DockingAnimation::DockingAnimation(Context* context) : BaseObject(context)
     {
         RegisterObject(DockingAnimation);
Index: code/branches/core6/src/modules/docking/DockingAnimation.h
===================================================================
--- code/branches/core6/src/modules/docking/DockingAnimation.h	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockingAnimation.h	(revision 9629)
@@ -63,5 +63,5 @@
     {
         public:
-            DockingAnimation(BaseObject* creator);
+            DockingAnimation(Context* context);
             virtual ~DockingAnimation();
 
Index: code/branches/core6/src/modules/docking/DockingController.cc
===================================================================
--- code/branches/core6/src/modules/docking/DockingController.cc	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockingController.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateFactory(DockingController);
 
-    DockingController::DockingController(BaseObject* creator) : ArtificialController(creator)
+    DockingController::DockingController(Context* context) : ArtificialController(context)
     {
         RegisterObject(DockingController);
Index: code/branches/core6/src/modules/docking/DockingController.h
===================================================================
--- code/branches/core6/src/modules/docking/DockingController.h	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockingController.h	(revision 9629)
@@ -42,5 +42,5 @@
     {
         public:
-            DockingController(BaseObject* creator);
+            DockingController(Context* context);
             virtual ~DockingController();
 
Index: code/branches/core6/src/modules/docking/DockingEffect.cc
===================================================================
--- code/branches/core6/src/modules/docking/DockingEffect.cc	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockingEffect.cc	(revision 9629)
@@ -37,5 +37,5 @@
 namespace orxonox
 {
-    DockingEffect::DockingEffect(BaseObject* creator) : BaseObject(creator)
+    DockingEffect::DockingEffect(Context* context) : BaseObject(context)
     {
         RegisterObject(DockingEffect);
Index: code/branches/core6/src/modules/docking/DockingEffect.h
===================================================================
--- code/branches/core6/src/modules/docking/DockingEffect.h	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockingEffect.h	(revision 9629)
@@ -61,5 +61,5 @@
     {
         public:
-            DockingEffect(BaseObject* creator);
+            DockingEffect(Context* context);
             virtual ~DockingEffect();
 
Index: code/branches/core6/src/modules/docking/DockingTarget.cc
===================================================================
--- code/branches/core6/src/modules/docking/DockingTarget.cc	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockingTarget.cc	(revision 9629)
@@ -41,5 +41,5 @@
     CreateFactory(DockingTarget);
 
-    DockingTarget::DockingTarget(BaseObject* creator) : StaticEntity(creator)
+    DockingTarget::DockingTarget(Context* context) : StaticEntity(context)
     {
         RegisterObject(DockingTarget);
Index: code/branches/core6/src/modules/docking/DockingTarget.h
===================================================================
--- code/branches/core6/src/modules/docking/DockingTarget.h	(revision 9628)
+++ code/branches/core6/src/modules/docking/DockingTarget.h	(revision 9629)
@@ -55,5 +55,5 @@
     {
         public:
-            DockingTarget(BaseObject* creator);
+            DockingTarget(Context* context);
             virtual ~DockingTarget();
 
Index: code/branches/core6/src/modules/docking/MoveToDockingTarget.cc
===================================================================
--- code/branches/core6/src/modules/docking/MoveToDockingTarget.cc	(revision 9628)
+++ code/branches/core6/src/modules/docking/MoveToDockingTarget.cc	(revision 9629)
@@ -42,5 +42,5 @@
     CreateFactory(MoveToDockingTarget);
 
-    MoveToDockingTarget::MoveToDockingTarget(BaseObject *creator) : DockingAnimation(creator)
+    MoveToDockingTarget::MoveToDockingTarget(Context* context) : DockingAnimation(context)
     {
         RegisterObject(MoveToDockingTarget);
@@ -55,5 +55,5 @@
         assert(this->parent_);
 
-        DockingController *dockingController = new DockingController(this);
+        DockingController *dockingController = new DockingController(this->getContext());
         dockingController->setDock(this->parent_);
         dockingController->setPlayer(player);
Index: code/branches/core6/src/modules/docking/MoveToDockingTarget.h
===================================================================
--- code/branches/core6/src/modules/docking/MoveToDockingTarget.h	(revision 9628)
+++ code/branches/core6/src/modules/docking/MoveToDockingTarget.h	(revision 9629)
@@ -56,5 +56,5 @@
     {
         public:
-            MoveToDockingTarget(BaseObject* creator);
+            MoveToDockingTarget(Context* context);
             virtual ~MoveToDockingTarget();
 
Index: code/branches/core6/src/modules/gametypes/OldRaceCheckPoint.cc
===================================================================
--- code/branches/core6/src/modules/gametypes/OldRaceCheckPoint.cc	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/OldRaceCheckPoint.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateFactory(OldRaceCheckPoint);
 
-    OldRaceCheckPoint::OldRaceCheckPoint(BaseObject* creator): DistanceTrigger(creator), RadarViewable(creator, static_cast<WorldEntity*>(this))
+    OldRaceCheckPoint::OldRaceCheckPoint(Context* context): DistanceTrigger(context), RadarViewable(this, static_cast<WorldEntity*>(this))
     {
         RegisterObject(OldRaceCheckPoint);
Index: code/branches/core6/src/modules/gametypes/OldRaceCheckPoint.h
===================================================================
--- code/branches/core6/src/modules/gametypes/OldRaceCheckPoint.h	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/OldRaceCheckPoint.h	(revision 9629)
@@ -45,5 +45,5 @@
     {
         public:
-            OldRaceCheckPoint(BaseObject* creator);
+            OldRaceCheckPoint(Context* context);
             virtual ~OldRaceCheckPoint();
 
Index: code/branches/core6/src/modules/gametypes/OldSpaceRace.cc
===================================================================
--- code/branches/core6/src/modules/gametypes/OldSpaceRace.cc	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/OldSpaceRace.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateUnloadableFactory(OldSpaceRace);
 
-    OldSpaceRace::OldSpaceRace(BaseObject* creator) : Gametype(creator)
+    OldSpaceRace::OldSpaceRace(Context* context) : Gametype(context)
     {
         RegisterObject(OldSpaceRace);
Index: code/branches/core6/src/modules/gametypes/OldSpaceRace.h
===================================================================
--- code/branches/core6/src/modules/gametypes/OldSpaceRace.h	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/OldSpaceRace.h	(revision 9629)
@@ -52,5 +52,5 @@
 
         public:
-            OldSpaceRace(BaseObject* creator);
+            OldSpaceRace(Context* context);
             virtual ~OldSpaceRace() {}
 
Index: code/branches/core6/src/modules/gametypes/RaceCheckPoint.cc
===================================================================
--- code/branches/core6/src/modules/gametypes/RaceCheckPoint.cc	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/RaceCheckPoint.cc	(revision 9629)
@@ -43,6 +43,6 @@
     CreateFactory(RaceCheckPoint);
 
-    RaceCheckPoint::RaceCheckPoint(BaseObject* creator) : DistanceMultiTrigger(creator),
-            RadarViewable(creator, static_cast<WorldEntity*> (this))
+    RaceCheckPoint::RaceCheckPoint(Context* context) : DistanceMultiTrigger(context),
+            RadarViewable(this, static_cast<WorldEntity*> (this))
     {
         RegisterObject(RaceCheckPoint);
Index: code/branches/core6/src/modules/gametypes/RaceCheckPoint.h
===================================================================
--- code/branches/core6/src/modules/gametypes/RaceCheckPoint.h	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/RaceCheckPoint.h	(revision 9629)
@@ -45,5 +45,5 @@
     {
         public:
-            RaceCheckPoint(BaseObject* creator);
+            RaceCheckPoint(Context* context);
             virtual ~RaceCheckPoint();
 
Index: code/branches/core6/src/modules/gametypes/SpaceRace.cc
===================================================================
--- code/branches/core6/src/modules/gametypes/SpaceRace.cc	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/SpaceRace.cc	(revision 9629)
@@ -42,5 +42,5 @@
     CreateUnloadableFactory(SpaceRace);
 
-    SpaceRace::SpaceRace(BaseObject* creator) : Gametype(creator)
+    SpaceRace::SpaceRace(Context* context) : Gametype(context)
     {
         RegisterObject(SpaceRace);
Index: code/branches/core6/src/modules/gametypes/SpaceRace.h
===================================================================
--- code/branches/core6/src/modules/gametypes/SpaceRace.h	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/SpaceRace.h	(revision 9629)
@@ -54,5 +54,5 @@
 
         public:
-            SpaceRace(BaseObject* creator);
+            SpaceRace(Context* context);
             virtual ~SpaceRace() {}
 
Index: code/branches/core6/src/modules/gametypes/SpaceRaceBot.cc
===================================================================
--- code/branches/core6/src/modules/gametypes/SpaceRaceBot.cc	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/SpaceRaceBot.cc	(revision 9629)
@@ -31,5 +31,5 @@
     CreateFactory(SpaceRaceBot);
 
-    SpaceRaceBot::SpaceRaceBot(BaseObject* creator) : Bot(creator){
+    SpaceRaceBot::SpaceRaceBot(Context* context) : Bot(context){
         RegisterObject(SpaceRaceBot);
         this->defaultController_ = Class(SpaceRaceController);// ClassByString("")
Index: code/branches/core6/src/modules/gametypes/SpaceRaceBot.h
===================================================================
--- code/branches/core6/src/modules/gametypes/SpaceRaceBot.h	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/SpaceRaceBot.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-        SpaceRaceBot(BaseObject* creator);
+        SpaceRaceBot(Context* context);
             virtual ~SpaceRaceBot() {}
     };
Index: code/branches/core6/src/modules/gametypes/SpaceRaceController.cc
===================================================================
--- code/branches/core6/src/modules/gametypes/SpaceRaceController.cc	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/SpaceRaceController.cc	(revision 9629)
@@ -52,6 +52,6 @@
      * Idea: Find static Point (checkpoints the spaceship has to reach)
      */
-    SpaceRaceController::SpaceRaceController(BaseObject* creator) :
-        ArtificialController(creator)
+    SpaceRaceController::SpaceRaceController(Context* context) :
+        ArtificialController(context)
     {
         RegisterObject(SpaceRaceController)
Index: code/branches/core6/src/modules/gametypes/SpaceRaceController.h
===================================================================
--- code/branches/core6/src/modules/gametypes/SpaceRaceController.h	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/SpaceRaceController.h	(revision 9629)
@@ -65,5 +65,5 @@
 
         public:
-            SpaceRaceController(BaseObject* creator);
+            SpaceRaceController(Context* context);
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
             virtual ~SpaceRaceController();
Index: code/branches/core6/src/modules/gametypes/SpaceRaceManager.cc
===================================================================
--- code/branches/core6/src/modules/gametypes/SpaceRaceManager.cc	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/SpaceRaceManager.cc	(revision 9629)
@@ -42,6 +42,6 @@
     CreateFactory(SpaceRaceManager);
 
-    SpaceRaceManager::SpaceRaceManager(BaseObject* creator) :
-        BaseObject(creator)
+    SpaceRaceManager::SpaceRaceManager(Context* context) :
+        BaseObject(context)
     {
         RegisterObject(SpaceRaceManager);
Index: code/branches/core6/src/modules/gametypes/SpaceRaceManager.h
===================================================================
--- code/branches/core6/src/modules/gametypes/SpaceRaceManager.h	(revision 9628)
+++ code/branches/core6/src/modules/gametypes/SpaceRaceManager.h	(revision 9629)
@@ -55,5 +55,5 @@
 
         public:
-            SpaceRaceManager(BaseObject* creator);
+            SpaceRaceManager(Context* context);
             virtual ~SpaceRaceManager() ;
 
Index: code/branches/core6/src/modules/notifications/NotificationDispatcher.cc
===================================================================
--- code/branches/core6/src/modules/notifications/NotificationDispatcher.cc	(revision 9628)
+++ code/branches/core6/src/modules/notifications/NotificationDispatcher.cc	(revision 9629)
@@ -57,5 +57,5 @@
         Default constructor. Initializes the object.
     */
-    NotificationDispatcher::NotificationDispatcher(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    NotificationDispatcher::NotificationDispatcher(Context* context) : BaseObject(context), Synchronisable(context)
     {
         RegisterObject(NotificationDispatcher);
Index: code/branches/core6/src/modules/notifications/NotificationDispatcher.h
===================================================================
--- code/branches/core6/src/modules/notifications/NotificationDispatcher.h	(revision 9628)
+++ code/branches/core6/src/modules/notifications/NotificationDispatcher.h	(revision 9629)
@@ -76,5 +76,5 @@
     {
         public:
-            NotificationDispatcher(BaseObject* creator); //!< Default constructor. Initializes the object.
+            NotificationDispatcher(Context* context); //!< Default constructor. Initializes the object.
             virtual ~NotificationDispatcher(); //!< Destructor.
 
Index: code/branches/core6/src/modules/notifications/NotificationQueue.cc
===================================================================
--- code/branches/core6/src/modules/notifications/NotificationQueue.cc	(revision 9628)
+++ code/branches/core6/src/modules/notifications/NotificationQueue.cc	(revision 9629)
@@ -52,5 +52,5 @@
         The creator of the NotificationQueue.
     */
-    NotificationQueue::NotificationQueue(BaseObject* creator) : BaseObject(creator), Synchronisable(creator), registered_(false)
+    NotificationQueue::NotificationQueue(Context* context) : BaseObject(context), Synchronisable(context), registered_(false)
     {
         RegisterObject(NotificationQueue);
Index: code/branches/core6/src/modules/notifications/NotificationQueue.h
===================================================================
--- code/branches/core6/src/modules/notifications/NotificationQueue.h	(revision 9628)
+++ code/branches/core6/src/modules/notifications/NotificationQueue.h	(revision 9629)
@@ -94,5 +94,5 @@
 
         public:
-            NotificationQueue(BaseObject* creator);
+            NotificationQueue(Context* context);
             virtual ~NotificationQueue();
 
Index: code/branches/core6/src/modules/notifications/NotificationQueueCEGUI.cc
===================================================================
--- code/branches/core6/src/modules/notifications/NotificationQueueCEGUI.cc	(revision 9628)
+++ code/branches/core6/src/modules/notifications/NotificationQueueCEGUI.cc	(revision 9629)
@@ -50,5 +50,5 @@
     /*static*/ const std::string NotificationQueueCEGUI::NOTIFICATION_LAYER("NotificationLayer");
 
-    NotificationQueueCEGUI::NotificationQueueCEGUI(BaseObject* creator) : NotificationQueue(creator)
+    NotificationQueueCEGUI::NotificationQueueCEGUI(Context* context) : NotificationQueue(context)
     {
         RegisterObject(NotificationQueueCEGUI);
Index: code/branches/core6/src/modules/notifications/NotificationQueueCEGUI.h
===================================================================
--- code/branches/core6/src/modules/notifications/NotificationQueueCEGUI.h	(revision 9628)
+++ code/branches/core6/src/modules/notifications/NotificationQueueCEGUI.h	(revision 9629)
@@ -70,5 +70,5 @@
 
         public:
-            NotificationQueueCEGUI(BaseObject* creator);
+            NotificationQueueCEGUI(Context* context);
             virtual ~NotificationQueueCEGUI();
 
Index: code/branches/core6/src/modules/notifications/dispatchers/CommandNotification.cc
===================================================================
--- code/branches/core6/src/modules/notifications/dispatchers/CommandNotification.cc	(revision 9628)
+++ code/branches/core6/src/modules/notifications/dispatchers/CommandNotification.cc	(revision 9629)
@@ -50,5 +50,5 @@
         Default Constructor. Registers the object and initializes variables.
     */
-    CommandNotification::CommandNotification(BaseObject* creator) : NotificationDispatcher(creator)
+    CommandNotification::CommandNotification(Context* context) : NotificationDispatcher(context)
     {
         RegisterObject(CommandNotification);
Index: code/branches/core6/src/modules/notifications/dispatchers/CommandNotification.h
===================================================================
--- code/branches/core6/src/modules/notifications/dispatchers/CommandNotification.h	(revision 9628)
+++ code/branches/core6/src/modules/notifications/dispatchers/CommandNotification.h	(revision 9629)
@@ -70,5 +70,5 @@
 
         public:
-            CommandNotification(BaseObject* creator); //!< Default Constructor.
+            CommandNotification(Context* context); //!< Default Constructor.
             virtual ~CommandNotification(); //!< Destructor.
 
Index: code/branches/core6/src/modules/notifications/dispatchers/SimpleNotification.cc
===================================================================
--- code/branches/core6/src/modules/notifications/dispatchers/SimpleNotification.cc	(revision 9628)
+++ code/branches/core6/src/modules/notifications/dispatchers/SimpleNotification.cc	(revision 9629)
@@ -45,5 +45,5 @@
         Default Constructor. Registers the object and initializes variables.
     */
-    SimpleNotification::SimpleNotification(BaseObject* creator) : NotificationDispatcher(creator)
+    SimpleNotification::SimpleNotification(Context* context) : NotificationDispatcher(context)
     {
         RegisterObject(SimpleNotification);
Index: code/branches/core6/src/modules/notifications/dispatchers/SimpleNotification.h
===================================================================
--- code/branches/core6/src/modules/notifications/dispatchers/SimpleNotification.h	(revision 9628)
+++ code/branches/core6/src/modules/notifications/dispatchers/SimpleNotification.h	(revision 9629)
@@ -67,5 +67,5 @@
     {
         public:
-            SimpleNotification(BaseObject* creator); //!< Default Constructor.
+            SimpleNotification(Context* context); //!< Default Constructor.
             virtual ~SimpleNotification(); //!< Destructor.
 
Index: code/branches/core6/src/modules/objects/Attacher.cc
===================================================================
--- code/branches/core6/src/modules/objects/Attacher.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/Attacher.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(Attacher);
 
-    Attacher::Attacher(BaseObject* creator) : StaticEntity(creator)
+    Attacher::Attacher(Context* context) : StaticEntity(context)
     {
         RegisterObject(Attacher);
Index: code/branches/core6/src/modules/objects/Attacher.h
===================================================================
--- code/branches/core6/src/modules/objects/Attacher.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/Attacher.h	(revision 9629)
@@ -48,5 +48,5 @@
     {
         public:
-            Attacher(BaseObject* creator);
+            Attacher(Context* context);
             virtual ~Attacher() {}
 
Index: code/branches/core6/src/modules/objects/ForceField.cc
===================================================================
--- code/branches/core6/src/modules/objects/ForceField.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/ForceField.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/ForceField.h
===================================================================
--- code/branches/core6/src/modules/objects/ForceField.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/ForceField.h	(revision 9629)
@@ -86,5 +86,5 @@
     {
         public:
-            ForceField(BaseObject* creator);
+            ForceField(Context* context);
             virtual ~ForceField();
 
Index: code/branches/core6/src/modules/objects/Planet.cc
===================================================================
--- code/branches/core6/src/modules/objects/Planet.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/Planet.cc	(revision 9629)
@@ -47,5 +47,5 @@
      * @brief Constructor
      */
-    Planet::Planet(BaseObject* creator) : MovableEntity(creator)
+    Planet::Planet(Context* context) : MovableEntity(context)
     {
         RegisterObject(Planet);
Index: code/branches/core6/src/modules/objects/Planet.h
===================================================================
--- code/branches/core6/src/modules/objects/Planet.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/Planet.h	(revision 9629)
@@ -48,5 +48,5 @@
     {
         public:
-            Planet(BaseObject* creator);
+            Planet(Context* context);
 
             virtual ~Planet();
Index: code/branches/core6/src/modules/objects/Script.cc
===================================================================
--- code/branches/core6/src/modules/objects/Script.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/Script.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/Script.h
===================================================================
--- code/branches/core6/src/modules/objects/Script.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/Script.h	(revision 9629)
@@ -95,5 +95,5 @@
     {
         public:
-            Script(BaseObject* creator);
+            Script(Context* context);
             virtual ~Script();
 
Index: code/branches/core6/src/modules/objects/SpaceBoundaries.cc
===================================================================
--- code/branches/core6/src/modules/objects/SpaceBoundaries.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/SpaceBoundaries.cc	(revision 9629)
@@ -44,5 +44,5 @@
     CreateFactory(SpaceBoundaries);
 
-    SpaceBoundaries::SpaceBoundaries(BaseObject* creator) : StaticEntity(creator)
+    SpaceBoundaries::SpaceBoundaries(Context* context) : StaticEntity(context)
     {
         RegisterObject(SpaceBoundaries);
@@ -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/branches/core6/src/modules/objects/SpaceBoundaries.h
===================================================================
--- code/branches/core6/src/modules/objects/SpaceBoundaries.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/SpaceBoundaries.h	(revision 9629)
@@ -75,5 +75,5 @@
     {
         public:
-            SpaceBoundaries(BaseObject* creator);
+            SpaceBoundaries(Context* context);
             ~SpaceBoundaries();
 
Index: code/branches/core6/src/modules/objects/Turret.cc
===================================================================
--- code/branches/core6/src/modules/objects/Turret.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/Turret.cc	(revision 9629)
@@ -40,8 +40,8 @@
      * @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/branches/core6/src/modules/objects/Turret.h
===================================================================
--- code/branches/core6/src/modules/objects/Turret.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/Turret.h	(revision 9629)
@@ -45,5 +45,5 @@
     {
         public:
-            Turret(BaseObject* creator);
+            Turret(Context* context);
             virtual ~Turret();
 
Index: code/branches/core6/src/modules/objects/collisionshapes/BoxCollisionShape.cc
===================================================================
--- code/branches/core6/src/modules/objects/collisionshapes/BoxCollisionShape.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/collisionshapes/BoxCollisionShape.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/collisionshapes/BoxCollisionShape.h
===================================================================
--- code/branches/core6/src/modules/objects/collisionshapes/BoxCollisionShape.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/collisionshapes/BoxCollisionShape.h	(revision 9629)
@@ -57,5 +57,5 @@
     {
         public:
-            BoxCollisionShape(BaseObject* creator);
+            BoxCollisionShape(Context* context);
             virtual ~BoxCollisionShape();
 
Index: code/branches/core6/src/modules/objects/collisionshapes/ConeCollisionShape.cc
===================================================================
--- code/branches/core6/src/modules/objects/collisionshapes/ConeCollisionShape.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/collisionshapes/ConeCollisionShape.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/collisionshapes/ConeCollisionShape.h
===================================================================
--- code/branches/core6/src/modules/objects/collisionshapes/ConeCollisionShape.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/collisionshapes/ConeCollisionShape.h	(revision 9629)
@@ -55,5 +55,5 @@
     {
         public:
-            ConeCollisionShape(BaseObject* creator);
+            ConeCollisionShape(Context* context);
             virtual ~ConeCollisionShape();
 
Index: code/branches/core6/src/modules/objects/collisionshapes/PlaneCollisionShape.cc
===================================================================
--- code/branches/core6/src/modules/objects/collisionshapes/PlaneCollisionShape.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/collisionshapes/PlaneCollisionShape.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/collisionshapes/PlaneCollisionShape.h
===================================================================
--- code/branches/core6/src/modules/objects/collisionshapes/PlaneCollisionShape.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/collisionshapes/PlaneCollisionShape.h	(revision 9629)
@@ -57,5 +57,5 @@
     {
         public:
-            PlaneCollisionShape(BaseObject* creator);
+            PlaneCollisionShape(Context* context);
             virtual ~PlaneCollisionShape();
 
Index: code/branches/core6/src/modules/objects/collisionshapes/SphereCollisionShape.cc
===================================================================
--- code/branches/core6/src/modules/objects/collisionshapes/SphereCollisionShape.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/collisionshapes/SphereCollisionShape.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/collisionshapes/SphereCollisionShape.h
===================================================================
--- code/branches/core6/src/modules/objects/collisionshapes/SphereCollisionShape.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/collisionshapes/SphereCollisionShape.h	(revision 9629)
@@ -55,5 +55,5 @@
     {
         public:
-            SphereCollisionShape(BaseObject* creator);
+            SphereCollisionShape(Context* context);
             virtual ~SphereCollisionShape();
 
Index: code/branches/core6/src/modules/objects/eventsystem/EventDispatcher.cc
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventDispatcher.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventDispatcher.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateFactory(EventDispatcher);
 
-    EventDispatcher::EventDispatcher(BaseObject* creator) : BaseObject(creator)
+    EventDispatcher::EventDispatcher(Context* context) : BaseObject(context)
     {
         RegisterObject(EventDispatcher);
Index: code/branches/core6/src/modules/objects/eventsystem/EventDispatcher.h
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventDispatcher.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventDispatcher.h	(revision 9629)
@@ -46,5 +46,5 @@
     {
         public:
-            EventDispatcher(BaseObject* creator);
+            EventDispatcher(Context* context);
             virtual ~EventDispatcher();
 
Index: code/branches/core6/src/modules/objects/eventsystem/EventFilter.cc
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventFilter.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventFilter.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateFactory(EventFilter);
 
-    EventFilter::EventFilter(BaseObject* creator) : BaseObject(creator)
+    EventFilter::EventFilter(Context* context) : BaseObject(context)
     {
         RegisterObject(EventFilter);
Index: code/branches/core6/src/modules/objects/eventsystem/EventFilter.h
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventFilter.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventFilter.h	(revision 9629)
@@ -46,5 +46,5 @@
     {
         public:
-            EventFilter(BaseObject* creator);
+            EventFilter(Context* context);
             virtual ~EventFilter();
 
Index: code/branches/core6/src/modules/objects/eventsystem/EventListener.cc
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventListener.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventListener.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateFactory(EventListener);
 
-    EventListener::EventListener(BaseObject* creator) : BaseObject(creator)
+    EventListener::EventListener(Context* context) : BaseObject(context)
     {
         RegisterObject(EventListener);
Index: code/branches/core6/src/modules/objects/eventsystem/EventListener.h
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventListener.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventListener.h	(revision 9629)
@@ -47,5 +47,5 @@
     {
         public:
-            EventListener(BaseObject* creator);
+            EventListener(Context* context);
             virtual ~EventListener();
 
Index: code/branches/core6/src/modules/objects/eventsystem/EventName.cc
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventName.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventName.cc	(revision 9629)
@@ -34,5 +34,5 @@
     CreateFactory(EventName);
 
-    EventName::EventName(BaseObject* creator) : BaseObject(creator)
+    EventName::EventName(Context* context) : BaseObject(context)
     {
         RegisterObject(EventName);
Index: code/branches/core6/src/modules/objects/eventsystem/EventName.h
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventName.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventName.h	(revision 9629)
@@ -45,5 +45,5 @@
     {
         public:
-            EventName(BaseObject* creator);
+            EventName(Context* context);
             virtual ~EventName() {}
     };
Index: code/branches/core6/src/modules/objects/eventsystem/EventTarget.cc
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventTarget.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventTarget.cc	(revision 9629)
@@ -35,5 +35,5 @@
     CreateFactory(EventTarget);
 
-    EventTarget::EventTarget(BaseObject* creator) : BaseObject(creator)
+    EventTarget::EventTarget(Context* context) : BaseObject(context)
     {
         RegisterObject(EventTarget);
Index: code/branches/core6/src/modules/objects/eventsystem/EventTarget.h
===================================================================
--- code/branches/core6/src/modules/objects/eventsystem/EventTarget.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/eventsystem/EventTarget.h	(revision 9629)
@@ -46,5 +46,5 @@
     {
         public:
-            EventTarget(BaseObject* creator);
+            EventTarget(Context* context);
             virtual ~EventTarget();
 
Index: code/branches/core6/src/modules/objects/triggers/CheckPoint.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/CheckPoint.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/CheckPoint.cc	(revision 9629)
@@ -44,7 +44,7 @@
     CreateFactory(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/branches/core6/src/modules/objects/triggers/CheckPoint.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/CheckPoint.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/CheckPoint.h	(revision 9629)
@@ -55,5 +55,5 @@
     {
     public:
-        CheckPoint(BaseObject* creator);
+        CheckPoint(Context* context);
         virtual ~CheckPoint();
 
Index: code/branches/core6/src/modules/objects/triggers/DistanceMultiTrigger.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/DistanceMultiTrigger.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/DistanceMultiTrigger.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/DistanceMultiTrigger.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/DistanceMultiTrigger.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/DistanceMultiTrigger.h	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/DistanceTrigger.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/DistanceTrigger.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/DistanceTrigger.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/DistanceTrigger.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/DistanceTrigger.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/DistanceTrigger.h	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/DistanceTriggerBeacon.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/DistanceTriggerBeacon.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/DistanceTriggerBeacon.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/DistanceTriggerBeacon.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/DistanceTriggerBeacon.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/DistanceTriggerBeacon.h	(revision 9629)
@@ -57,5 +57,5 @@
 
         public:
-            DistanceTriggerBeacon(BaseObject* creator); //!< Constructor.
+            DistanceTriggerBeacon(Context* context); //!< Constructor.
             virtual ~DistanceTriggerBeacon() {} //!< Destructor.
 
Index: code/branches/core6/src/modules/objects/triggers/EventMultiTrigger.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/EventMultiTrigger.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/EventMultiTrigger.cc	(revision 9629)
@@ -49,5 +49,5 @@
         Constructor. Registers the object.
     */
-    EventMultiTrigger::EventMultiTrigger(BaseObject* creator) : MultiTrigger(creator)
+    EventMultiTrigger::EventMultiTrigger(Context* context) : MultiTrigger(context)
     {
         RegisterObject(EventMultiTrigger);
Index: code/branches/core6/src/modules/objects/triggers/EventMultiTrigger.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/EventMultiTrigger.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/EventMultiTrigger.h	(revision 9629)
@@ -73,5 +73,5 @@
 
         public:
-            EventMultiTrigger(BaseObject* creator); //!< Constructor. Registers the object.
+            EventMultiTrigger(Context* context); //!< Constructor. Registers the object.
             virtual ~EventMultiTrigger(); //!< Destructor.
 
Index: code/branches/core6/src/modules/objects/triggers/EventTrigger.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/EventTrigger.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/EventTrigger.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/EventTrigger.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/EventTrigger.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/EventTrigger.h	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/MultiTrigger.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/MultiTrigger.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/MultiTrigger.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/MultiTrigger.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/MultiTrigger.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/MultiTrigger.h	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/MultiTriggerContainer.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/MultiTriggerContainer.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/MultiTriggerContainer.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/MultiTriggerContainer.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/MultiTriggerContainer.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/MultiTriggerContainer.h	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/Trigger.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/Trigger.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/Trigger.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/Trigger.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/Trigger.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/Trigger.h	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/TriggerBase.cc
===================================================================
--- code/branches/core6/src/modules/objects/triggers/TriggerBase.cc	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/TriggerBase.cc	(revision 9629)
@@ -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/branches/core6/src/modules/objects/triggers/TriggerBase.h
===================================================================
--- code/branches/core6/src/modules/objects/triggers/TriggerBase.h	(revision 9628)
+++ code/branches/core6/src/modules/objects/triggers/TriggerBase.h	(revision 9629)
@@ -74,5 +74,5 @@
     {
         public:
-            TriggerBase(BaseObject* creator);
+            TriggerBase(Context* context);
             virtual ~TriggerBase();
 
Index: code/branches/core6/src/modules/overlays/FadeoutText.cc
===================================================================
--- code/branches/core6/src/modules/overlays/FadeoutText.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/FadeoutText.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateFactory(FadeoutText);
 
-    FadeoutText::FadeoutText(BaseObject* creator) : OverlayText(creator)
+    FadeoutText::FadeoutText(Context* context) : OverlayText(context)
     {
         RegisterObject(FadeoutText);
Index: code/branches/core6/src/modules/overlays/FadeoutText.h
===================================================================
--- code/branches/core6/src/modules/overlays/FadeoutText.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/FadeoutText.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            FadeoutText(BaseObject* creator);
+            FadeoutText(Context* context);
             virtual ~FadeoutText() {}
 
Index: code/branches/core6/src/modules/overlays/GUIOverlay.cc
===================================================================
--- code/branches/core6/src/modules/overlays/GUIOverlay.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/GUIOverlay.cc	(revision 9629)
@@ -43,5 +43,5 @@
     CreateFactory(GUIOverlay);
 
-    GUIOverlay::GUIOverlay(BaseObject* creator) : OrxonoxOverlay(creator)
+    GUIOverlay::GUIOverlay(Context* context) : OrxonoxOverlay(context)
     {
         RegisterObject(GUIOverlay);
Index: code/branches/core6/src/modules/overlays/GUIOverlay.h
===================================================================
--- code/branches/core6/src/modules/overlays/GUIOverlay.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/GUIOverlay.h	(revision 9629)
@@ -41,5 +41,5 @@
         public:
 
-            GUIOverlay(BaseObject* creator);
+            GUIOverlay(Context* context);
             virtual ~GUIOverlay();
 
Index: code/branches/core6/src/modules/overlays/OverlayText.cc
===================================================================
--- code/branches/core6/src/modules/overlays/OverlayText.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/OverlayText.cc	(revision 9629)
@@ -47,6 +47,6 @@
     BOOST_STATIC_ASSERT((int)Ogre::TextAreaOverlayElement::Right  == (int)OverlayText::Right);
 
-    OverlayText::OverlayText(BaseObject* creator)
-        : OrxonoxOverlay(creator)
+    OverlayText::OverlayText(Context* context)
+        : OrxonoxOverlay(context)
     {
         RegisterObject(OverlayText);
Index: code/branches/core6/src/modules/overlays/OverlayText.h
===================================================================
--- code/branches/core6/src/modules/overlays/OverlayText.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/OverlayText.h	(revision 9629)
@@ -49,5 +49,5 @@
         };
 
-        OverlayText(BaseObject* creator);
+        OverlayText(Context* context);
         virtual ~OverlayText();
 
Index: code/branches/core6/src/modules/overlays/debugging/DebugFPSText.cc
===================================================================
--- code/branches/core6/src/modules/overlays/debugging/DebugFPSText.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/debugging/DebugFPSText.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateFactory(DebugFPSText);
 
-    DebugFPSText::DebugFPSText(BaseObject* creator) : OverlayText(creator)
+    DebugFPSText::DebugFPSText(Context* context) : OverlayText(context)
     {
         RegisterObject(DebugFPSText);
Index: code/branches/core6/src/modules/overlays/debugging/DebugFPSText.h
===================================================================
--- code/branches/core6/src/modules/overlays/debugging/DebugFPSText.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/debugging/DebugFPSText.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
     public:
-        DebugFPSText(BaseObject* creator);
+        DebugFPSText(Context* context);
         virtual ~DebugFPSText();
 
Index: code/branches/core6/src/modules/overlays/debugging/DebugRTRText.cc
===================================================================
--- code/branches/core6/src/modules/overlays/debugging/DebugRTRText.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/debugging/DebugRTRText.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateFactory(DebugRTRText);
 
-    DebugRTRText::DebugRTRText(BaseObject* creator) : OverlayText(creator)
+    DebugRTRText::DebugRTRText(Context* context) : OverlayText(context)
     {
         RegisterObject(DebugRTRText);
Index: code/branches/core6/src/modules/overlays/debugging/DebugRTRText.h
===================================================================
--- code/branches/core6/src/modules/overlays/debugging/DebugRTRText.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/debugging/DebugRTRText.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
     public:
-        DebugRTRText(BaseObject* creator);
+        DebugRTRText(Context* context);
         virtual ~DebugRTRText();
 
Index: code/branches/core6/src/modules/overlays/hud/AnnounceMessage.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/AnnounceMessage.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/AnnounceMessage.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(AnnounceMessage);
 
-    AnnounceMessage::AnnounceMessage(BaseObject* creator) : FadeoutText(creator)
+    AnnounceMessage::AnnounceMessage(Context* context) : FadeoutText(context)
     {
         RegisterObject(AnnounceMessage);
Index: code/branches/core6/src/modules/overlays/hud/AnnounceMessage.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/AnnounceMessage.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/AnnounceMessage.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            AnnounceMessage(BaseObject* creator);
+            AnnounceMessage(Context* context);
             virtual ~AnnounceMessage() {}
 
Index: code/branches/core6/src/modules/overlays/hud/ChatOverlay.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/ChatOverlay.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/ChatOverlay.cc	(revision 9629)
@@ -46,6 +46,6 @@
     CreateFactory(ChatOverlay);
 
-    ChatOverlay::ChatOverlay(BaseObject* creator)
-        : OverlayText(creator)
+    ChatOverlay::ChatOverlay(Context* context)
+        : OverlayText(context)
     {
         RegisterObject(ChatOverlay);
Index: code/branches/core6/src/modules/overlays/hud/ChatOverlay.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/ChatOverlay.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/ChatOverlay.h	(revision 9629)
@@ -43,5 +43,5 @@
     {
         public:
-            ChatOverlay(BaseObject* creator);
+            ChatOverlay(Context* context);
             virtual ~ChatOverlay();
 
Index: code/branches/core6/src/modules/overlays/hud/DeathMessage.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/DeathMessage.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/DeathMessage.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(DeathMessage);
 
-    DeathMessage::DeathMessage(BaseObject* creator) : FadeoutText(creator)
+    DeathMessage::DeathMessage(Context* context) : FadeoutText(context)
     {
         RegisterObject(DeathMessage);
Index: code/branches/core6/src/modules/overlays/hud/DeathMessage.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/DeathMessage.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/DeathMessage.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            DeathMessage(BaseObject* creator);
+            DeathMessage(Context* context);
             virtual ~DeathMessage() {}
 
Index: code/branches/core6/src/modules/overlays/hud/GametypeFadingMessage.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/GametypeFadingMessage.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/GametypeFadingMessage.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(GametypeFadingMessage);
 
-    GametypeFadingMessage::GametypeFadingMessage(BaseObject* creator) : FadeoutText(creator)
+    GametypeFadingMessage::GametypeFadingMessage(Context* context) : FadeoutText(context)
     {
         RegisterObject(GametypeFadingMessage);
Index: code/branches/core6/src/modules/overlays/hud/GametypeFadingMessage.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/GametypeFadingMessage.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/GametypeFadingMessage.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            GametypeFadingMessage(BaseObject* creator);
+            GametypeFadingMessage(Context* context);
             virtual ~GametypeFadingMessage();
 
Index: code/branches/core6/src/modules/overlays/hud/GametypeStaticMessage.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/GametypeStaticMessage.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/GametypeStaticMessage.cc	(revision 9629)
@@ -39,5 +39,5 @@
 
 
-    GametypeStaticMessage::GametypeStaticMessage(BaseObject* creator) : OverlayText(creator)
+    GametypeStaticMessage::GametypeStaticMessage(Context* context) : OverlayText(context)
     {
         RegisterObject(GametypeStaticMessage);
Index: code/branches/core6/src/modules/overlays/hud/GametypeStaticMessage.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/GametypeStaticMessage.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/GametypeStaticMessage.h	(revision 9629)
@@ -43,5 +43,5 @@
     {
         public:
-            GametypeStaticMessage(BaseObject* creator);
+            GametypeStaticMessage(Context* context);
             virtual ~GametypeStaticMessage();
 
Index: code/branches/core6/src/modules/overlays/hud/HUDBar.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDBar.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDBar.cc	(revision 9629)
@@ -47,6 +47,6 @@
     CreateFactory(BarColour);
 
-    BarColour::BarColour(BaseObject* creator)
-        : BaseObject(creator)
+    BarColour::BarColour(Context* context)
+        : BaseObject(context)
     {
         RegisterObject(BarColour);
@@ -67,6 +67,6 @@
     unsigned int HUDBar::materialcount_s = 0;
 
-    HUDBar::HUDBar(BaseObject* creator)
-        : OrxonoxOverlay(creator), right2Left_(false), autoColour_(false)
+    HUDBar::HUDBar(Context* context)
+        : OrxonoxOverlay(context), right2Left_(false), autoColour_(false)
     {
         RegisterObject(HUDBar);
Index: code/branches/core6/src/modules/overlays/hud/HUDBar.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDBar.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDBar.h	(revision 9629)
@@ -48,5 +48,5 @@
     {
     public:
-        BarColour(BaseObject* creator);
+        BarColour(Context* context);
         virtual ~BarColour() { }
 
@@ -68,5 +68,5 @@
     {
     public:
-        HUDBar(BaseObject* creator);
+        HUDBar(Context* context);
         virtual ~HUDBar();
 
Index: code/branches/core6/src/modules/overlays/hud/HUDBoostBar.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDBoostBar.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDBoostBar.cc	(revision 9629)
@@ -37,6 +37,6 @@
     CreateFactory(HUDBoostBar);
 
-    HUDBoostBar::HUDBoostBar(BaseObject* creator)
-        : HUDBar(creator)
+    HUDBoostBar::HUDBoostBar(Context* context)
+        : HUDBar(context)
     {
         RegisterObject(HUDBoostBar);
Index: code/branches/core6/src/modules/overlays/hud/HUDBoostBar.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDBoostBar.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDBoostBar.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
     public:
-        HUDBoostBar(BaseObject* creator);
+        HUDBoostBar(Context* context);
         virtual ~HUDBoostBar();
 
Index: code/branches/core6/src/modules/overlays/hud/HUDEnemyHealthBar.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDEnemyHealthBar.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDEnemyHealthBar.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(HUDEnemyHealthBar);
 
-    HUDEnemyHealthBar::HUDEnemyHealthBar(BaseObject* creator) : HUDHealthBar(creator)
+    HUDEnemyHealthBar::HUDEnemyHealthBar(Context* context) : HUDHealthBar(context)
     {
         RegisterObject(HUDEnemyHealthBar);
Index: code/branches/core6/src/modules/overlays/hud/HUDEnemyHealthBar.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDEnemyHealthBar.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDEnemyHealthBar.h	(revision 9629)
@@ -37,5 +37,5 @@
     {
         public:
-            HUDEnemyHealthBar(BaseObject* creator);
+            HUDEnemyHealthBar(Context* context);
             virtual ~HUDEnemyHealthBar();
 
Index: code/branches/core6/src/modules/overlays/hud/HUDHealthBar.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDHealthBar.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDHealthBar.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(HUDHealthBar);
 
-    HUDHealthBar::HUDHealthBar(BaseObject* creator) : HUDBar(creator)
+    HUDHealthBar::HUDHealthBar(Context* context) : HUDBar(context)
     {
         RegisterObject(HUDHealthBar);
@@ -46,5 +46,5 @@
         this->bUseBarColour_ = false;
 
-        this->textoverlay_ = new OverlayText(this);
+        this->textoverlay_ = new OverlayText(this->getContext());
 
         assert(this->textoverlay_.get());
Index: code/branches/core6/src/modules/overlays/hud/HUDHealthBar.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDHealthBar.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDHealthBar.h	(revision 9629)
@@ -42,5 +42,5 @@
     {
         public:
-            HUDHealthBar(BaseObject* creator);
+            HUDHealthBar(Context* context);
             virtual ~HUDHealthBar();
 
Index: code/branches/core6/src/modules/overlays/hud/HUDNavigation.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDNavigation.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDNavigation.cc	(revision 9629)
@@ -71,6 +71,6 @@
     HUDNavigation* HUDNavigation::localHUD_s = 0;
 
-    HUDNavigation::HUDNavigation(BaseObject* creator) :
-        OrxonoxOverlay(creator)
+    HUDNavigation::HUDNavigation(Context* context) :
+        OrxonoxOverlay(context)
     {
         RegisterObject(HUDNavigation)
Index: code/branches/core6/src/modules/overlays/hud/HUDNavigation.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDNavigation.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDNavigation.h	(revision 9629)
@@ -46,5 +46,5 @@
     {
         public:
-            HUDNavigation(BaseObject* creator);
+            HUDNavigation(Context* context);
             virtual ~HUDNavigation();
 
Index: code/branches/core6/src/modules/overlays/hud/HUDRadar.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDRadar.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDRadar.cc	(revision 9629)
@@ -46,6 +46,6 @@
     CreateFactory(HUDRadar);
 
-    HUDRadar::HUDRadar(BaseObject* creator)
-        : OrxonoxOverlay(creator)
+    HUDRadar::HUDRadar(Context* context)
+        : OrxonoxOverlay(context)
     {
         RegisterObject(HUDRadar);
Index: code/branches/core6/src/modules/overlays/hud/HUDRadar.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDRadar.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDRadar.h	(revision 9629)
@@ -46,5 +46,5 @@
     {
     public:
-        HUDRadar(BaseObject* creator);
+        HUDRadar(Context* context);
         virtual ~HUDRadar();
 
Index: code/branches/core6/src/modules/overlays/hud/HUDSpeedBar.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDSpeedBar.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDSpeedBar.cc	(revision 9629)
@@ -38,6 +38,6 @@
     CreateFactory(HUDSpeedBar);
 
-    HUDSpeedBar::HUDSpeedBar(BaseObject* creator)
-        : HUDBar(creator)
+    HUDSpeedBar::HUDSpeedBar(Context* context)
+        : HUDBar(context)
     {
         RegisterObject(HUDSpeedBar);
Index: code/branches/core6/src/modules/overlays/hud/HUDSpeedBar.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDSpeedBar.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDSpeedBar.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
     public:
-        HUDSpeedBar(BaseObject* creator);
+        HUDSpeedBar(Context* context);
         virtual ~HUDSpeedBar();
 
Index: code/branches/core6/src/modules/overlays/hud/HUDTimer.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDTimer.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDTimer.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateFactory(HUDTimer);
 
-    HUDTimer::HUDTimer(BaseObject* creator) : OverlayText(creator)
+    HUDTimer::HUDTimer(Context* context) : OverlayText(context)
     {
         RegisterObject(HUDTimer);
Index: code/branches/core6/src/modules/overlays/hud/HUDTimer.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/HUDTimer.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/HUDTimer.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
     public:
-        HUDTimer(BaseObject* creator);
+        HUDTimer(Context* context);
         virtual ~HUDTimer();
 
Index: code/branches/core6/src/modules/overlays/hud/KillMessage.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/KillMessage.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/KillMessage.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(KillMessage);
 
-    KillMessage::KillMessage(BaseObject* creator) : FadeoutText(creator)
+    KillMessage::KillMessage(Context* context) : FadeoutText(context)
     {
         RegisterObject(KillMessage);
Index: code/branches/core6/src/modules/overlays/hud/KillMessage.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/KillMessage.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/KillMessage.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            KillMessage(BaseObject* creator);
+            KillMessage(Context* context);
             virtual ~KillMessage() {}
 
Index: code/branches/core6/src/modules/overlays/hud/LastManStandingInfos.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/LastManStandingInfos.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/LastManStandingInfos.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(LastManStandingInfos);
 
-    LastManStandingInfos::LastManStandingInfos(BaseObject* creator) : OverlayText(creator)
+    LastManStandingInfos::LastManStandingInfos(Context* context) : OverlayText(context)
     {
         RegisterObject(LastManStandingInfos);
Index: code/branches/core6/src/modules/overlays/hud/LastManStandingInfos.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/LastManStandingInfos.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/LastManStandingInfos.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            LastManStandingInfos(BaseObject* creator);
+            LastManStandingInfos(Context* context);
             virtual ~LastManStandingInfos();
 
Index: code/branches/core6/src/modules/overlays/hud/LastTeamStandingInfos.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/LastTeamStandingInfos.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/LastTeamStandingInfos.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(LastTeamStandingInfos);
 
-    LastTeamStandingInfos::LastTeamStandingInfos(BaseObject* creator) : OverlayText(creator)
+    LastTeamStandingInfos::LastTeamStandingInfos(Context* context) : OverlayText(context)
     {
         RegisterObject(LastTeamStandingInfos);
Index: code/branches/core6/src/modules/overlays/hud/LastTeamStandingInfos.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/LastTeamStandingInfos.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/LastTeamStandingInfos.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            LastTeamStandingInfos(BaseObject* creator);
+            LastTeamStandingInfos(Context* context);
             virtual ~LastTeamStandingInfos();
 
Index: code/branches/core6/src/modules/overlays/hud/PauseNotice.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/PauseNotice.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/PauseNotice.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(PauseNotice);
 
-    PauseNotice::PauseNotice(BaseObject* creator) : OverlayText(creator)
+    PauseNotice::PauseNotice(Context* context) : OverlayText(context)
     {
         RegisterObject(PauseNotice);
Index: code/branches/core6/src/modules/overlays/hud/PauseNotice.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/PauseNotice.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/PauseNotice.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            PauseNotice(BaseObject* creator);
+            PauseNotice(Context* context);
 
             virtual void changedOwner();
Index: code/branches/core6/src/modules/overlays/hud/TeamBaseMatchScore.cc
===================================================================
--- code/branches/core6/src/modules/overlays/hud/TeamBaseMatchScore.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/TeamBaseMatchScore.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(TeamBaseMatchScore);
 
-    TeamBaseMatchScore::TeamBaseMatchScore(BaseObject* creator) : OverlayText(creator)
+    TeamBaseMatchScore::TeamBaseMatchScore(Context* context) : OverlayText(context)
     {
         RegisterObject(TeamBaseMatchScore);
Index: code/branches/core6/src/modules/overlays/hud/TeamBaseMatchScore.h
===================================================================
--- code/branches/core6/src/modules/overlays/hud/TeamBaseMatchScore.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/hud/TeamBaseMatchScore.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            TeamBaseMatchScore(BaseObject* creator);
+            TeamBaseMatchScore(Context* context);
             virtual ~TeamBaseMatchScore();
 
Index: code/branches/core6/src/modules/overlays/stats/Scoreboard.cc
===================================================================
--- code/branches/core6/src/modules/overlays/stats/Scoreboard.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/stats/Scoreboard.cc	(revision 9629)
@@ -40,6 +40,6 @@
         @brief Constructor: Creates the scoreboard.
     */
-    Scoreboard::Scoreboard(BaseObject* creator)
-        : OrxonoxOverlay(creator)
+    Scoreboard::Scoreboard(Context* context)
+        : OrxonoxOverlay(context)
     {
         RegisterObject(Scoreboard);
Index: code/branches/core6/src/modules/overlays/stats/Scoreboard.h
===================================================================
--- code/branches/core6/src/modules/overlays/stats/Scoreboard.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/stats/Scoreboard.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
     public: // functions
-        Scoreboard(BaseObject* creator);
+        Scoreboard(Context* context);
         virtual ~Scoreboard();
 
Index: code/branches/core6/src/modules/overlays/stats/Stats.cc
===================================================================
--- code/branches/core6/src/modules/overlays/stats/Stats.cc	(revision 9628)
+++ code/branches/core6/src/modules/overlays/stats/Stats.cc	(revision 9629)
@@ -44,6 +44,6 @@
         @brief Constructor: Creates and initializes the Stats panel.
     */
-    Stats::Stats(BaseObject* creator)
-        : OrxonoxOverlay(creator)
+    Stats::Stats(Context* context)
+        : OrxonoxOverlay(context)
         , statsOverlayNoise_(0)
         , statsOverlayBorder_(0)
Index: code/branches/core6/src/modules/overlays/stats/Stats.h
===================================================================
--- code/branches/core6/src/modules/overlays/stats/Stats.h	(revision 9628)
+++ code/branches/core6/src/modules/overlays/stats/Stats.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
     public: // functions
-        Stats(BaseObject* creator);
+        Stats(Context* context);
         virtual ~Stats();
 
Index: code/branches/core6/src/modules/pickup/Pickup.cc
===================================================================
--- code/branches/core6/src/modules/pickup/Pickup.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/Pickup.cc	(revision 9629)
@@ -56,5 +56,5 @@
         The objects creator.
     */
-    Pickup::Pickup(BaseObject* creator) : BaseObject(creator)
+    Pickup::Pickup(Context* context) : BaseObject(context)
     {
         RegisterObject(Pickup);
@@ -187,5 +187,5 @@
     bool Pickup::createSpawner(void)
     {
-        PickupSpawner::createDroppedPickup(this, this, this->getCarrier());
+        PickupSpawner::createDroppedPickup(this->getContext(), this, this->getCarrier());
         return true;
     }
Index: code/branches/core6/src/modules/pickup/Pickup.h
===================================================================
--- code/branches/core6/src/modules/pickup/Pickup.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/Pickup.h	(revision 9629)
@@ -100,5 +100,5 @@
 
         public:
-            Pickup(BaseObject* creator); //!< Constructor.
+            Pickup(Context* context); //!< Constructor.
             virtual ~Pickup(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pickup/PickupCollection.cc
===================================================================
--- code/branches/core6/src/modules/pickup/PickupCollection.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/PickupCollection.cc	(revision 9629)
@@ -53,5 +53,5 @@
         The creator of the object.
     */
-    PickupCollection::PickupCollection(BaseObject* creator) : BaseObject(creator)
+    PickupCollection::PickupCollection(Context* context) : BaseObject(context)
     {
         RegisterObject(PickupCollection);
@@ -328,5 +328,5 @@
     bool PickupCollection::createSpawner(void)
     {
-        PickupSpawner::createDroppedPickup(this, this, this->getCarrier());
+        PickupSpawner::createDroppedPickup(this->getContext(), this, this->getCarrier());
         return true;
     }
Index: code/branches/core6/src/modules/pickup/PickupCollection.h
===================================================================
--- code/branches/core6/src/modules/pickup/PickupCollection.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/PickupCollection.h	(revision 9629)
@@ -70,5 +70,5 @@
 
         public:
-            PickupCollection(BaseObject* creator); //!< Default Constructor.
+            PickupCollection(Context* context); //!< Default Constructor.
             virtual ~PickupCollection(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pickup/PickupRepresentation.cc
===================================================================
--- code/branches/core6/src/modules/pickup/PickupRepresentation.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/PickupRepresentation.cc	(revision 9629)
@@ -64,5 +64,5 @@
         Default Constructor. Registers the object and initializes its member variables.
     */
-    PickupRepresentation::PickupRepresentation(BaseObject* creator) : BaseObject(creator), Synchronisable(creator), spawnerRepresentation_(NULL)
+    PickupRepresentation::PickupRepresentation(Context* context) : BaseObject(context), Synchronisable(context), spawnerRepresentation_(NULL)
     {
         RegisterObject(PickupRepresentation);
@@ -180,10 +180,10 @@
     StaticEntity* PickupRepresentation::getDefaultSpawnerRepresentation(PickupSpawner* spawner)
     {
-        StaticEntity* representation = new StaticEntity(spawner);
-        Billboard* sphere = new Billboard(spawner);
+        StaticEntity* representation = new StaticEntity(spawner->getContext());
+        Billboard* sphere = new Billboard(spawner->getContext());
         sphere->setColour(ColourValue(0.95f, 0.85f, 0.27f));
         sphere->setMaterial("Sphere2");
         sphere->setScale(0.1f);
-        Billboard* icon = new Billboard(spawner);
+        Billboard* icon = new Billboard(spawner->getContext());
         icon->setColour(ColourValue(0.89f, 0.79f, 0.08f));
         icon->setMaterial("asterisk");
Index: code/branches/core6/src/modules/pickup/PickupRepresentation.h
===================================================================
--- code/branches/core6/src/modules/pickup/PickupRepresentation.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/PickupRepresentation.h	(revision 9629)
@@ -95,5 +95,5 @@
         public:
             PickupRepresentation(); //!< Constructor
-            PickupRepresentation(BaseObject* creator); //!< Default constructor.
+            PickupRepresentation(Context* context); //!< Default constructor.
             virtual ~PickupRepresentation(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pickup/PickupSpawner.cc
===================================================================
--- code/branches/core6/src/modules/pickup/PickupSpawner.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/PickupSpawner.cc	(revision 9629)
@@ -55,5 +55,5 @@
         Pointer to the object which created this item.
     */
-    PickupSpawner::PickupSpawner(BaseObject* creator) : StaticEntity(creator), pickup_(NULL), representation_(NULL), pickupTemplate_(NULL)
+    PickupSpawner::PickupSpawner(Context* context) : StaticEntity(context), pickup_(NULL), representation_(NULL), pickupTemplate_(NULL)
     {
         RegisterObject(PickupSpawner);
@@ -99,7 +99,7 @@
         The distance at which the PickupSpawner will trigger.
     */
-    /*static*/ PickupSpawner* PickupSpawner::createDroppedPickup(BaseObject* creator, Pickupable* pickup, PickupCarrier* carrier, float triggerDistance)
-    {
-        PickupSpawner* spawner = new PickupSpawner(creator);
+    /*static*/ PickupSpawner* PickupSpawner::createDroppedPickup(Context* context, Pickupable* pickup, PickupCarrier* carrier, float triggerDistance)
+    {
+        PickupSpawner* spawner = new PickupSpawner(context);
 
         spawner->setPickupable(pickup);
@@ -289,5 +289,5 @@
             if (identifier != NULL)
             {
-                Pickupable* pickup = orxonox_cast<Pickupable*>(identifier->fabricate(this));
+                Pickupable* pickup = orxonox_cast<Pickupable*>(identifier->fabricate(this->getContext()));
                 orxonox_cast<BaseObject*>(pickup)->addTemplate(this->pickupTemplate_);
                 return pickup;
Index: code/branches/core6/src/modules/pickup/PickupSpawner.h
===================================================================
--- code/branches/core6/src/modules/pickup/PickupSpawner.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/PickupSpawner.h	(revision 9629)
@@ -77,8 +77,8 @@
     {
         public:
-            PickupSpawner(BaseObject* creator); //!< Default Constructor.
+            PickupSpawner(Context* context); //!< Default Constructor.
             virtual ~PickupSpawner(); //!< Destructor.
 
-            static PickupSpawner* createDroppedPickup(BaseObject* creator, Pickupable* pickup, PickupCarrier* carrier, float triggerDistance = 10.0);
+            static PickupSpawner* createDroppedPickup(Context* context, Pickupable* pickup, PickupCarrier* carrier, float triggerDistance = 10.0);
 
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);  //!< Method for creating a PickupSpawner through XML.
Index: code/branches/core6/src/modules/pickup/items/DamageBoostPickup.cc
===================================================================
--- code/branches/core6/src/modules/pickup/items/DamageBoostPickup.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/DamageBoostPickup.cc	(revision 9629)
@@ -48,5 +48,5 @@
         Constructor. Registers the object and initializes the member variables.
     */
-    DamageBoostPickup::DamageBoostPickup(BaseObject* creator) : Pickup(creator)
+    DamageBoostPickup::DamageBoostPickup(Context* context) : Pickup(context)
     {
         RegisterObject(DamageBoostPickup);
Index: code/branches/core6/src/modules/pickup/items/DamageBoostPickup.h
===================================================================
--- code/branches/core6/src/modules/pickup/items/DamageBoostPickup.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/DamageBoostPickup.h	(revision 9629)
@@ -49,5 +49,5 @@
         public:
 
-            DamageBoostPickup(BaseObject* creator); //!< Constructor.
+            DamageBoostPickup(Context* context); //!< Constructor.
             virtual ~DamageBoostPickup(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pickup/items/DronePickup.cc
===================================================================
--- code/branches/core6/src/modules/pickup/items/DronePickup.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/DronePickup.cc	(revision 9629)
@@ -51,5 +51,5 @@
         Constructor. Registers the object and initializes the member variables.
     */
-    DronePickup::DronePickup(BaseObject* creator) : Pickup(creator)
+    DronePickup::DronePickup(Context* context) : Pickup(context)
     {
         RegisterObject(DronePickup);
@@ -126,5 +126,5 @@
 
                 //Attach to pawn
-                Drone* drone = new Drone(pawn->getCreator()); // this is neccessary because the projectiles fired need a valid creator for the particlespawner (when colliding against something)
+                Drone* drone = new Drone(pawn->getContext()); // this is neccessary because the projectiles fired need a valid creator for the particlespawner (when colliding against something)
                 drone->addTemplate(this->getDroneTemplate());
 
Index: code/branches/core6/src/modules/pickup/items/DronePickup.h
===================================================================
--- code/branches/core6/src/modules/pickup/items/DronePickup.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/DronePickup.h	(revision 9629)
@@ -64,5 +64,5 @@
         public:
 
-            DronePickup(BaseObject* creator); //!< Constructor.
+            DronePickup(Context* context); //!< Constructor.
             virtual ~DronePickup(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pickup/items/HealthPickup.cc
===================================================================
--- code/branches/core6/src/modules/pickup/items/HealthPickup.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/HealthPickup.cc	(revision 9629)
@@ -53,5 +53,5 @@
         Constructor. Registers the object and initializes the member variables.
     */
-    HealthPickup::HealthPickup(BaseObject* creator) : Pickup(creator)
+    HealthPickup::HealthPickup(Context* context) : Pickup(context)
     {
         RegisterObject(HealthPickup);
Index: code/branches/core6/src/modules/pickup/items/HealthPickup.h
===================================================================
--- code/branches/core6/src/modules/pickup/items/HealthPickup.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/HealthPickup.h	(revision 9629)
@@ -90,5 +90,5 @@
         public:
 
-            HealthPickup(BaseObject* creator); //!< Constructor.
+            HealthPickup(Context* context); //!< Constructor.
             virtual ~HealthPickup(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pickup/items/InvisiblePickup.cc
===================================================================
--- code/branches/core6/src/modules/pickup/items/InvisiblePickup.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/InvisiblePickup.cc	(revision 9629)
@@ -51,5 +51,5 @@
         Constructor. Registers the object and initializes the member variables.
     */
-    InvisiblePickup::InvisiblePickup(BaseObject* creator) : Pickup(creator)
+    InvisiblePickup::InvisiblePickup(Context* context) : Pickup(context)
     {
         RegisterObject(InvisiblePickup);
Index: code/branches/core6/src/modules/pickup/items/InvisiblePickup.h
===================================================================
--- code/branches/core6/src/modules/pickup/items/InvisiblePickup.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/InvisiblePickup.h	(revision 9629)
@@ -70,5 +70,5 @@
         public:
 
-            InvisiblePickup(BaseObject* creator); //!< Constructor.
+            InvisiblePickup(Context* context); //!< Constructor.
             virtual ~InvisiblePickup(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pickup/items/MetaPickup.cc
===================================================================
--- code/branches/core6/src/modules/pickup/items/MetaPickup.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/MetaPickup.cc	(revision 9629)
@@ -55,5 +55,5 @@
         Constructor. Registers and initializes the object.
     */
-    MetaPickup::MetaPickup(BaseObject* creator) : Pickup(creator)
+    MetaPickup::MetaPickup(Context* context) : Pickup(context)
     {
         RegisterObject(MetaPickup);
Index: code/branches/core6/src/modules/pickup/items/MetaPickup.h
===================================================================
--- code/branches/core6/src/modules/pickup/items/MetaPickup.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/MetaPickup.h	(revision 9629)
@@ -89,5 +89,5 @@
 
         public:
-            MetaPickup(BaseObject* creator); //!< Constructor. Registers and initializes the object.
+            MetaPickup(Context* context); //!< Constructor. Registers and initializes the object.
             virtual ~MetaPickup(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pickup/items/ShieldPickup.cc
===================================================================
--- code/branches/core6/src/modules/pickup/items/ShieldPickup.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/ShieldPickup.cc	(revision 9629)
@@ -48,5 +48,5 @@
         Constructor. Registers the object and initializes the member variables.
     */
-    ShieldPickup::ShieldPickup(BaseObject* creator) : Pickup(creator)
+    ShieldPickup::ShieldPickup(Context* context) : Pickup(context)
     {
         RegisterObject(ShieldPickup);
Index: code/branches/core6/src/modules/pickup/items/ShieldPickup.h
===================================================================
--- code/branches/core6/src/modules/pickup/items/ShieldPickup.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/ShieldPickup.h	(revision 9629)
@@ -76,5 +76,5 @@
         public:
 
-            ShieldPickup(BaseObject* creator); //!< Constructor.
+            ShieldPickup(Context* context); //!< Constructor.
             virtual ~ShieldPickup(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pickup/items/ShrinkPickup.cc
===================================================================
--- code/branches/core6/src/modules/pickup/items/ShrinkPickup.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/ShrinkPickup.cc	(revision 9629)
@@ -52,5 +52,5 @@
         Constructor: Initializes the Pickup.
     */
-    ShrinkPickup::ShrinkPickup(BaseObject* creator) : Pickup(creator)
+    ShrinkPickup::ShrinkPickup(Context* context) : Pickup(context)
     {
         RegisterObject(ShrinkPickup);
Index: code/branches/core6/src/modules/pickup/items/ShrinkPickup.h
===================================================================
--- code/branches/core6/src/modules/pickup/items/ShrinkPickup.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/ShrinkPickup.h	(revision 9629)
@@ -72,5 +72,5 @@
     {
         public:
-            ShrinkPickup(BaseObject* creator); // Constructor.
+            ShrinkPickup(Context* context); // Constructor.
             virtual ~ShrinkPickup(); // Destructor.
 
Index: code/branches/core6/src/modules/pickup/items/SpeedPickup.cc
===================================================================
--- code/branches/core6/src/modules/pickup/items/SpeedPickup.cc	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/SpeedPickup.cc	(revision 9629)
@@ -48,5 +48,5 @@
         Constructor. Registers the object and initializes the member variables.
     */
-    SpeedPickup::SpeedPickup(BaseObject* creator) : Pickup(creator)
+    SpeedPickup::SpeedPickup(Context* context) : Pickup(context)
     {
         RegisterObject(SpeedPickup);
Index: code/branches/core6/src/modules/pickup/items/SpeedPickup.h
===================================================================
--- code/branches/core6/src/modules/pickup/items/SpeedPickup.h	(revision 9628)
+++ code/branches/core6/src/modules/pickup/items/SpeedPickup.h	(revision 9629)
@@ -75,5 +75,5 @@
         public:
 
-            SpeedPickup(BaseObject* creator); //!< Constructor.
+            SpeedPickup(Context* context); //!< Constructor.
             virtual ~SpeedPickup(); //!< Destructor.
 
Index: code/branches/core6/src/modules/pong/Pong.cc
===================================================================
--- code/branches/core6/src/modules/pong/Pong.cc	(revision 9628)
+++ code/branches/core6/src/modules/pong/Pong.cc	(revision 9629)
@@ -59,5 +59,5 @@
         Constructor. Registers and initializes the object.
     */
-    Pong::Pong(BaseObject* creator) : Deathmatch(creator)
+    Pong::Pong(Context* context) : Deathmatch(context)
     {
         RegisterObject(Pong);
@@ -129,5 +129,5 @@
             if (this->ball_ == NULL) // If there is no ball, create a new ball.
             {
-                this->ball_ = new PongBall(this->center_);
+                this->ball_ = new PongBall(this->center_->getContext());
                 // Apply the template for the ball specified by the centerpoint.
                 this->ball_->addTemplate(this->center_->getBalltemplate());
@@ -147,5 +147,5 @@
                 if (this->bat_[i] == NULL)
                 {
-                    this->bat_[i] = new PongBat(this->center_);
+                    this->bat_[i] = new PongBat(this->center_->getContext());
                     this->bat_[i]->addTemplate(this->center_->getBattemplate());
                 }
Index: code/branches/core6/src/modules/pong/Pong.h
===================================================================
--- code/branches/core6/src/modules/pong/Pong.h	(revision 9628)
+++ code/branches/core6/src/modules/pong/Pong.h	(revision 9629)
@@ -65,5 +65,5 @@
     {
         public:
-            Pong(BaseObject* creator); //!< Constructor. Registers and initializes the object.
+            Pong(Context* context); //!< Constructor. Registers and initializes the object.
             virtual ~Pong(); //!< Destructor. Cleans up, if initialized.
 
Index: code/branches/core6/src/modules/pong/PongAI.cc
===================================================================
--- code/branches/core6/src/modules/pong/PongAI.cc	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongAI.cc	(revision 9629)
@@ -53,5 +53,5 @@
         Constructor. Registers and initializes the object.
     */
-    PongAI::PongAI(BaseObject* creator) : Controller(creator)
+    PongAI::PongAI(Context* context) : Controller(context)
     {
         RegisterObject(PongAI);
Index: code/branches/core6/src/modules/pong/PongAI.h
===================================================================
--- code/branches/core6/src/modules/pong/PongAI.h	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongAI.h	(revision 9629)
@@ -61,5 +61,5 @@
     {
         public:
-            PongAI(BaseObject* creator); //!< Constructor. Registers and initializes the object.
+            PongAI(Context* context); //!< Constructor. Registers and initializes the object.
             virtual ~PongAI();
 
Index: code/branches/core6/src/modules/pong/PongBall.cc
===================================================================
--- code/branches/core6/src/modules/pong/PongBall.cc	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongBall.cc	(revision 9629)
@@ -51,6 +51,6 @@
         Constructor. Registers and initializes the object.
     */
-    PongBall::PongBall(BaseObject* creator)
-        : MovableEntity(creator)
+    PongBall::PongBall(Context* context)
+        : MovableEntity(context)
     {
         RegisterObject(PongBall);
Index: code/branches/core6/src/modules/pong/PongBall.h
===================================================================
--- code/branches/core6/src/modules/pong/PongBall.h	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongBall.h	(revision 9629)
@@ -59,5 +59,5 @@
     {
         public:
-            PongBall(BaseObject* creator);
+            PongBall(Context* context);
             virtual ~PongBall();
 
Index: code/branches/core6/src/modules/pong/PongBat.cc
===================================================================
--- code/branches/core6/src/modules/pong/PongBat.cc	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongBat.cc	(revision 9629)
@@ -45,5 +45,5 @@
         Constructor. Registers and initializes the object.
     */
-    PongBat::PongBat(BaseObject* creator) : ControllableEntity(creator)
+    PongBat::PongBat(Context* context) : ControllableEntity(context)
     {
         RegisterObject(PongBat);
Index: code/branches/core6/src/modules/pong/PongBat.h
===================================================================
--- code/branches/core6/src/modules/pong/PongBat.h	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongBat.h	(revision 9629)
@@ -57,5 +57,5 @@
     {
         public:
-            PongBat(BaseObject* creator); //!< Constructor. Registers and initializes the object.
+            PongBat(Context* context); //!< Constructor. Registers and initializes the object.
             virtual ~PongBat() {}
 
Index: code/branches/core6/src/modules/pong/PongBot.cc
===================================================================
--- code/branches/core6/src/modules/pong/PongBot.cc	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongBot.cc	(revision 9629)
@@ -45,5 +45,5 @@
         Constructor. Registers the object and creates a PongAI controller.
     */
-    PongBot::PongBot(BaseObject* creator) : Bot(creator)
+    PongBot::PongBot(Context* context) : Bot(context)
     {
         RegisterObject(PongBot);
Index: code/branches/core6/src/modules/pong/PongBot.h
===================================================================
--- code/branches/core6/src/modules/pong/PongBot.h	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongBot.h	(revision 9629)
@@ -56,5 +56,5 @@
     {
         public:
-            PongBot(BaseObject* creator);
+            PongBot(Context* context);
             virtual ~PongBot() {}
     };
Index: code/branches/core6/src/modules/pong/PongCenterpoint.cc
===================================================================
--- code/branches/core6/src/modules/pong/PongCenterpoint.cc	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongCenterpoint.cc	(revision 9629)
@@ -47,5 +47,5 @@
         Constructor. Registers and initializes the object and checks whether the gametype is actually Pong.
     */
-    PongCenterpoint::PongCenterpoint(BaseObject* creator) : StaticEntity(creator)
+    PongCenterpoint::PongCenterpoint(Context* context) : StaticEntity(context)
     {
         RegisterObject(PongCenterpoint);
Index: code/branches/core6/src/modules/pong/PongCenterpoint.h
===================================================================
--- code/branches/core6/src/modules/pong/PongCenterpoint.h	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongCenterpoint.h	(revision 9629)
@@ -121,5 +121,5 @@
     {
         public:
-            PongCenterpoint(BaseObject* creator); //!< Constructor. Registers and initializes the object and checks whether the gametype is actually Pong.
+            PongCenterpoint(Context* context); //!< Constructor. Registers and initializes the object and checks whether the gametype is actually Pong.
             virtual ~PongCenterpoint() {}
 
Index: code/branches/core6/src/modules/pong/PongScore.cc
===================================================================
--- code/branches/core6/src/modules/pong/PongScore.cc	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongScore.cc	(revision 9629)
@@ -50,5 +50,5 @@
         Constructor. Registers and initializes the object.
     */
-    PongScore::PongScore(BaseObject* creator) : OverlayText(creator)
+    PongScore::PongScore(Context* context) : OverlayText(context)
     {
         RegisterObject(PongScore);
Index: code/branches/core6/src/modules/pong/PongScore.h
===================================================================
--- code/branches/core6/src/modules/pong/PongScore.h	(revision 9628)
+++ code/branches/core6/src/modules/pong/PongScore.h	(revision 9629)
@@ -57,5 +57,5 @@
     {
         public:
-            PongScore(BaseObject* creator);
+            PongScore(Context* context);
             virtual ~PongScore();
 
Index: code/branches/core6/src/modules/portals/PortalEndPoint.cc
===================================================================
--- code/branches/core6/src/modules/portals/PortalEndPoint.cc	(revision 9628)
+++ code/branches/core6/src/modules/portals/PortalEndPoint.cc	(revision 9629)
@@ -48,9 +48,9 @@
     std::map<unsigned int, PortalEndPoint *> PortalEndPoint::idMap_s;
 
-    PortalEndPoint::PortalEndPoint(BaseObject* creator) : StaticEntity(creator), RadarViewable(creator, static_cast<WorldEntity*>(this)), id_(0), trigger_(NULL), reenterDelay_(0)
+    PortalEndPoint::PortalEndPoint(Context* context) : StaticEntity(context), RadarViewable(this, static_cast<WorldEntity*>(this)), id_(0), trigger_(NULL), reenterDelay_(0)
     {
         RegisterObject(PortalEndPoint);
 
-        this->trigger_ = new DistanceMultiTrigger(this);
+        this->trigger_ = new DistanceMultiTrigger(this->getContext());
         this->trigger_->setName("portal");
         this->attach(this->trigger_);
@@ -61,5 +61,5 @@
         if( GameMode::isMaster() )
         {
-            this->portalSound_ = new WorldSound(this);
+            this->portalSound_ = new WorldSound(this->getContext());
             this->portalSound_->setLooping(false);
             this->attach(this->portalSound_);
Index: code/branches/core6/src/modules/portals/PortalEndPoint.h
===================================================================
--- code/branches/core6/src/modules/portals/PortalEndPoint.h	(revision 9628)
+++ code/branches/core6/src/modules/portals/PortalEndPoint.h	(revision 9629)
@@ -60,5 +60,5 @@
     {
         public:
-            PortalEndPoint(BaseObject* creator);
+            PortalEndPoint(Context* context);
             virtual ~PortalEndPoint();
 
Index: code/branches/core6/src/modules/portals/PortalLink.cc
===================================================================
--- code/branches/core6/src/modules/portals/PortalLink.cc	(revision 9628)
+++ code/branches/core6/src/modules/portals/PortalLink.cc	(revision 9629)
@@ -40,5 +40,5 @@
     std::map<PortalEndPoint *, PortalEndPoint *> PortalLink::links_s;
 
-    PortalLink::PortalLink(BaseObject* creator) : BaseObject(creator), fromID_(0), toID_(0), from_(0), to_(0)
+    PortalLink::PortalLink(Context* context) : BaseObject(context), fromID_(0), toID_(0), from_(0), to_(0)
     {
         RegisterObject(PortalLink);
Index: code/branches/core6/src/modules/portals/PortalLink.h
===================================================================
--- code/branches/core6/src/modules/portals/PortalLink.h	(revision 9628)
+++ code/branches/core6/src/modules/portals/PortalLink.h	(revision 9629)
@@ -54,5 +54,5 @@
     {
         public:
-            PortalLink(BaseObject* creator);
+            PortalLink(Context* context);
             virtual ~PortalLink();
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
Index: code/branches/core6/src/modules/questsystem/GlobalQuest.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/GlobalQuest.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/GlobalQuest.cc	(revision 9629)
@@ -47,5 +47,5 @@
         Constructor. Registers the object.
     */
-    GlobalQuest::GlobalQuest(BaseObject* creator) : Quest(creator)
+    GlobalQuest::GlobalQuest(Context* context) : Quest(context)
     {
         RegisterObject(GlobalQuest);
Index: code/branches/core6/src/modules/questsystem/GlobalQuest.h
===================================================================
--- code/branches/core6/src/modules/questsystem/GlobalQuest.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/GlobalQuest.h	(revision 9629)
@@ -90,5 +90,5 @@
     {
         public:
-            GlobalQuest(BaseObject* creator);
+            GlobalQuest(Context* context);
             virtual ~GlobalQuest();
 
Index: code/branches/core6/src/modules/questsystem/LocalQuest.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/LocalQuest.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/LocalQuest.cc	(revision 9629)
@@ -47,5 +47,5 @@
         Constructor. Registers and initializes the object.
     */
-    LocalQuest::LocalQuest(BaseObject* creator) : Quest(creator)
+    LocalQuest::LocalQuest(Context* context) : Quest(context)
     {
         RegisterObject(LocalQuest);
Index: code/branches/core6/src/modules/questsystem/LocalQuest.h
===================================================================
--- code/branches/core6/src/modules/questsystem/LocalQuest.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/LocalQuest.h	(revision 9629)
@@ -84,5 +84,5 @@
     {
         public:
-            LocalQuest(BaseObject* creator);
+            LocalQuest(Context* context);
             virtual ~LocalQuest();
 
Index: code/branches/core6/src/modules/questsystem/Quest.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/Quest.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/Quest.cc	(revision 9629)
@@ -49,5 +49,5 @@
         Constructor. Registers and initializes object.
     */
-    Quest::Quest(BaseObject* creator) : QuestItem(creator)
+    Quest::Quest(Context* context) : QuestItem(context)
     {
         RegisterObject(Quest);
Index: code/branches/core6/src/modules/questsystem/Quest.h
===================================================================
--- code/branches/core6/src/modules/questsystem/Quest.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/Quest.h	(revision 9629)
@@ -82,5 +82,5 @@
     { // tolua_export
         public:
-            Quest(BaseObject* creator);
+            Quest(Context* context);
             virtual ~Quest();
 
Index: code/branches/core6/src/modules/questsystem/QuestDescription.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestDescription.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestDescription.cc	(revision 9629)
@@ -52,5 +52,5 @@
         Constructor. Registers and initializes the object.
     */
-    QuestDescription::QuestDescription(BaseObject* creator) : BaseObject(creator)
+    QuestDescription::QuestDescription(Context* context) : BaseObject(context)
     {
         RegisterObject(QuestDescription);
Index: code/branches/core6/src/modules/questsystem/QuestDescription.h
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestDescription.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestDescription.h	(revision 9629)
@@ -64,5 +64,5 @@
 // tolua_end
         public:
-            QuestDescription(BaseObject* creator);
+            QuestDescription(Context* context);
             virtual ~QuestDescription();
 
Index: code/branches/core6/src/modules/questsystem/QuestEffect.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestEffect.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestEffect.cc	(revision 9629)
@@ -42,5 +42,5 @@
         Is not meant to be invoked directly, since this is only an interface.
     */
-    QuestEffect::QuestEffect(BaseObject* creator) : BaseObject(creator)
+    QuestEffect::QuestEffect(Context* context) : BaseObject(context)
     {
         RegisterObject(QuestEffect);
Index: code/branches/core6/src/modules/questsystem/QuestEffect.h
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestEffect.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestEffect.h	(revision 9629)
@@ -57,5 +57,5 @@
     {
         public:
-            QuestEffect(BaseObject* creator);
+            QuestEffect(Context* context);
             virtual ~QuestEffect();
 
Index: code/branches/core6/src/modules/questsystem/QuestEffectBeacon.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestEffectBeacon.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestEffectBeacon.cc	(revision 9629)
@@ -51,5 +51,5 @@
         Constructor. Registers the object and initializes defaults.
     */
-    QuestEffectBeacon::QuestEffectBeacon(BaseObject* creator) : StaticEntity(creator)
+    QuestEffectBeacon::QuestEffectBeacon(Context* context) : StaticEntity(context)
     {
         RegisterObject(QuestEffectBeacon);
Index: code/branches/core6/src/modules/questsystem/QuestEffectBeacon.h
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestEffectBeacon.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestEffectBeacon.h	(revision 9629)
@@ -93,5 +93,5 @@
     {
         public:
-            QuestEffectBeacon(BaseObject* creator);
+            QuestEffectBeacon(Context* context);
             virtual ~QuestEffectBeacon();
 
Index: code/branches/core6/src/modules/questsystem/QuestHint.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestHint.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestHint.cc	(revision 9629)
@@ -49,5 +49,5 @@
         Constructor. Registers the object.
     */
-    QuestHint::QuestHint(BaseObject* creator) : QuestItem(creator)
+    QuestHint::QuestHint(Context* context) : QuestItem(context)
     {
         RegisterObject(QuestHint);
Index: code/branches/core6/src/modules/questsystem/QuestHint.h
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestHint.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestHint.h	(revision 9629)
@@ -82,5 +82,5 @@
 
         public:
-            QuestHint(BaseObject* creator);
+            QuestHint(Context* context);
             virtual ~QuestHint();
 
Index: code/branches/core6/src/modules/questsystem/QuestItem.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestItem.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestItem.cc	(revision 9629)
@@ -48,5 +48,5 @@
         Constructor. Registers and initializes the object.
     */
-    QuestItem::QuestItem(BaseObject* creator) : BaseObject(creator)
+    QuestItem::QuestItem(Context* context) : BaseObject(context)
     {
         this->registered_ = false;
Index: code/branches/core6/src/modules/questsystem/QuestItem.h
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestItem.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestItem.h	(revision 9629)
@@ -60,5 +60,5 @@
 
         public:
-            QuestItem(BaseObject* creator);
+            QuestItem(Context* context);
             virtual ~QuestItem();
 
Index: code/branches/core6/src/modules/questsystem/QuestListener.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestListener.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestListener.cc	(revision 9629)
@@ -54,5 +54,5 @@
         Constructor. Registers the object and initializes variables.
     */
-    QuestListener::QuestListener(BaseObject* creator) : BaseObject(creator)
+    QuestListener::QuestListener(Context* context) : BaseObject(context)
     {
         RegisterObject(QuestListener);
Index: code/branches/core6/src/modules/questsystem/QuestListener.h
===================================================================
--- code/branches/core6/src/modules/questsystem/QuestListener.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/QuestListener.h	(revision 9629)
@@ -87,5 +87,5 @@
 
         public:
-            QuestListener(BaseObject* creator);
+            QuestListener(Context* context);
             virtual ~QuestListener();
 
Index: code/branches/core6/src/modules/questsystem/effects/AddQuest.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/AddQuest.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/AddQuest.cc	(revision 9629)
@@ -49,5 +49,5 @@
         Constructor. Registers the object.
     */
-    AddQuest::AddQuest(BaseObject* creator) : ChangeQuestStatus(creator)
+    AddQuest::AddQuest(Context* context) : ChangeQuestStatus(context)
     {
         RegisterObject(AddQuest);
Index: code/branches/core6/src/modules/questsystem/effects/AddQuest.h
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/AddQuest.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/AddQuest.h	(revision 9629)
@@ -59,5 +59,5 @@
     {
         public:
-        AddQuest(BaseObject* creator);
+        AddQuest(Context* context);
         virtual ~AddQuest();
 
Index: code/branches/core6/src/modules/questsystem/effects/AddQuestHint.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/AddQuestHint.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/AddQuestHint.cc	(revision 9629)
@@ -50,5 +50,5 @@
         Constructor. Registers the object.
     */
-    AddQuestHint::AddQuestHint(BaseObject* creator) : QuestEffect(creator)
+    AddQuestHint::AddQuestHint(Context* context) : QuestEffect(context)
     {
         RegisterObject(AddQuestHint);
Index: code/branches/core6/src/modules/questsystem/effects/AddQuestHint.h
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/AddQuestHint.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/AddQuestHint.h	(revision 9629)
@@ -61,5 +61,5 @@
     {
         public:
-            AddQuestHint(BaseObject* creator);
+            AddQuestHint(Context* context);
             virtual ~AddQuestHint();
 
Index: code/branches/core6/src/modules/questsystem/effects/AddReward.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/AddReward.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/AddReward.cc	(revision 9629)
@@ -47,5 +47,5 @@
         Constructor. Registers the object.
     */
-    AddReward::AddReward(BaseObject* creator) : QuestEffect(creator)
+    AddReward::AddReward(Context* context) : QuestEffect(context)
     {
         RegisterObject(AddReward);
Index: code/branches/core6/src/modules/questsystem/effects/AddReward.h
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/AddReward.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/AddReward.h	(revision 9629)
@@ -65,5 +65,5 @@
     {
         public:
-            AddReward(BaseObject* creator);
+            AddReward(Context* context);
             virtual ~AddReward();
 
Index: code/branches/core6/src/modules/questsystem/effects/ChangeQuestStatus.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/ChangeQuestStatus.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/ChangeQuestStatus.cc	(revision 9629)
@@ -46,5 +46,5 @@
         Constructor. Registers the object.
     */
-    ChangeQuestStatus::ChangeQuestStatus(BaseObject* creator) : QuestEffect(creator)
+    ChangeQuestStatus::ChangeQuestStatus(Context* context) : QuestEffect(context)
     {
         RegisterObject(ChangeQuestStatus);
Index: code/branches/core6/src/modules/questsystem/effects/ChangeQuestStatus.h
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/ChangeQuestStatus.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/ChangeQuestStatus.h	(revision 9629)
@@ -56,5 +56,5 @@
     {
         public:
-            ChangeQuestStatus(BaseObject* creator);
+            ChangeQuestStatus(Context* context);
             virtual ~ChangeQuestStatus();
 
Index: code/branches/core6/src/modules/questsystem/effects/CompleteQuest.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/CompleteQuest.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/CompleteQuest.cc	(revision 9629)
@@ -48,5 +48,5 @@
         Constructor. Registers the object.
     */
-    CompleteQuest::CompleteQuest(BaseObject* creator) : ChangeQuestStatus(creator)
+    CompleteQuest::CompleteQuest(Context* context) : ChangeQuestStatus(context)
     {
         RegisterObject(CompleteQuest);
Index: code/branches/core6/src/modules/questsystem/effects/CompleteQuest.h
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/CompleteQuest.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/CompleteQuest.h	(revision 9629)
@@ -59,5 +59,5 @@
     {
         public:
-            CompleteQuest(BaseObject* creator);
+            CompleteQuest(Context* context);
             virtual ~CompleteQuest();
 
Index: code/branches/core6/src/modules/questsystem/effects/FailQuest.cc
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/FailQuest.cc	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/FailQuest.cc	(revision 9629)
@@ -48,5 +48,5 @@
         Constructor. Registers the object.
     */
-    FailQuest::FailQuest(BaseObject* creator) : ChangeQuestStatus(creator)
+    FailQuest::FailQuest(Context* context) : ChangeQuestStatus(context)
     {
         RegisterObject(FailQuest);
Index: code/branches/core6/src/modules/questsystem/effects/FailQuest.h
===================================================================
--- code/branches/core6/src/modules/questsystem/effects/FailQuest.h	(revision 9628)
+++ code/branches/core6/src/modules/questsystem/effects/FailQuest.h	(revision 9629)
@@ -59,5 +59,5 @@
     {
         public:
-            FailQuest(BaseObject* creator);
+            FailQuest(Context* context);
             virtual ~FailQuest();
 
Index: code/branches/core6/src/modules/tetris/Tetris.cc
===================================================================
--- code/branches/core6/src/modules/tetris/Tetris.cc	(revision 9628)
+++ code/branches/core6/src/modules/tetris/Tetris.cc	(revision 9629)
@@ -61,5 +61,5 @@
     @ingroup Tetris
     */
-    Tetris::Tetris(BaseObject* creator) : Deathmatch(creator)
+    Tetris::Tetris(Context* context) : Deathmatch(context)
     {
         RegisterObject(Tetris);
@@ -379,5 +379,5 @@
     {
         // create new futureBrick_
-        this->futureBrick_ = new TetrisBrick(this->center_);
+        this->futureBrick_ = new TetrisBrick(this->center_->getContext());
 
 
Index: code/branches/core6/src/modules/tetris/Tetris.h
===================================================================
--- code/branches/core6/src/modules/tetris/Tetris.h	(revision 9628)
+++ code/branches/core6/src/modules/tetris/Tetris.h	(revision 9629)
@@ -55,5 +55,5 @@
     {
         public:
-            Tetris(BaseObject* creator); //!< Constructor. Registers and initializes the object.
+            Tetris(Context* context); //!< Constructor. Registers and initializes the object.
             virtual ~Tetris(); //!< Destructor. Cleans up, if initialized.
 
Index: code/branches/core6/src/modules/tetris/TetrisBrick.cc
===================================================================
--- code/branches/core6/src/modules/tetris/TetrisBrick.cc	(revision 9628)
+++ code/branches/core6/src/modules/tetris/TetrisBrick.cc	(revision 9629)
@@ -51,5 +51,5 @@
     @ingroup Tetris
     */
-    TetrisBrick::TetrisBrick(BaseObject* creator): ControllableEntity(creator)
+    TetrisBrick::TetrisBrick(Context* context): ControllableEntity(context)
     {
         RegisterObject(TetrisBrick);
@@ -77,5 +77,5 @@
         {
             // Create a new stone and add it to the brick.
-            TetrisStone* stone = new TetrisStone(this);
+            TetrisStone* stone = new TetrisStone(this->getContext());
             this->brickStones_.push_back(stone);
             this->attach(stone);
Index: code/branches/core6/src/modules/tetris/TetrisBrick.h
===================================================================
--- code/branches/core6/src/modules/tetris/TetrisBrick.h	(revision 9628)
+++ code/branches/core6/src/modules/tetris/TetrisBrick.h	(revision 9629)
@@ -54,5 +54,5 @@
     {
         public:
-            TetrisBrick(BaseObject* creator); //!< Constructor. Registers and initializes the object.
+            TetrisBrick(Context* context); //!< Constructor. Registers and initializes the object.
             virtual ~TetrisBrick() {}
 
Index: code/branches/core6/src/modules/tetris/TetrisCenterpoint.cc
===================================================================
--- code/branches/core6/src/modules/tetris/TetrisCenterpoint.cc	(revision 9628)
+++ code/branches/core6/src/modules/tetris/TetrisCenterpoint.cc	(revision 9629)
@@ -48,5 +48,5 @@
         Constructor. Registers and initializes the object and checks whether the gametype is actually Tetris.
     */
-    TetrisCenterpoint::TetrisCenterpoint(BaseObject* creator) : StaticEntity(creator)
+    TetrisCenterpoint::TetrisCenterpoint(Context* context) : StaticEntity(context)
     {
         RegisterObject(TetrisCenterpoint);
Index: code/branches/core6/src/modules/tetris/TetrisCenterpoint.h
===================================================================
--- code/branches/core6/src/modules/tetris/TetrisCenterpoint.h	(revision 9628)
+++ code/branches/core6/src/modules/tetris/TetrisCenterpoint.h	(revision 9629)
@@ -59,5 +59,5 @@
     {
         public:
-            TetrisCenterpoint(BaseObject* creator); //!< Constructor. Registers and initializes the object and checks whether the gametype is actually Tetris.
+            TetrisCenterpoint(Context* context); //!< Constructor. Registers and initializes the object and checks whether the gametype is actually Tetris.
             virtual ~TetrisCenterpoint() {}
 
Index: code/branches/core6/src/modules/tetris/TetrisScore.cc
===================================================================
--- code/branches/core6/src/modules/tetris/TetrisScore.cc	(revision 9628)
+++ code/branches/core6/src/modules/tetris/TetrisScore.cc	(revision 9629)
@@ -52,5 +52,5 @@
     @ingroup Tetris
     */
-    TetrisScore::TetrisScore(BaseObject* creator) : OverlayText(creator)
+    TetrisScore::TetrisScore(Context* context) : OverlayText(context)
     {
         RegisterObject(TetrisScore);
Index: code/branches/core6/src/modules/tetris/TetrisScore.h
===================================================================
--- code/branches/core6/src/modules/tetris/TetrisScore.h	(revision 9628)
+++ code/branches/core6/src/modules/tetris/TetrisScore.h	(revision 9629)
@@ -57,5 +57,5 @@
     {
         public:
-            TetrisScore(BaseObject* creator);
+            TetrisScore(Context* context);
             virtual ~TetrisScore();
 
Index: code/branches/core6/src/modules/tetris/TetrisStone.cc
===================================================================
--- code/branches/core6/src/modules/tetris/TetrisStone.cc	(revision 9628)
+++ code/branches/core6/src/modules/tetris/TetrisStone.cc	(revision 9629)
@@ -48,5 +48,5 @@
         Constructor. Registers and initializes the object.
     */
-    TetrisStone::TetrisStone(BaseObject* creator) : MovableEntity(creator)
+    TetrisStone::TetrisStone(Context* context) : MovableEntity(context)
     {
         RegisterObject(TetrisStone);
Index: code/branches/core6/src/modules/tetris/TetrisStone.h
===================================================================
--- code/branches/core6/src/modules/tetris/TetrisStone.h	(revision 9628)
+++ code/branches/core6/src/modules/tetris/TetrisStone.h	(revision 9629)
@@ -54,5 +54,5 @@
     {
         public:
-            TetrisStone(BaseObject* creator); //!< Constructor. Registers and initializes the object.
+            TetrisStone(Context* context); //!< Constructor. Registers and initializes the object.
             virtual ~TetrisStone() {}
 
Index: code/branches/core6/src/modules/towerdefense/Tower.cc
===================================================================
--- code/branches/core6/src/modules/towerdefense/Tower.cc	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/Tower.cc	(revision 9629)
@@ -22,5 +22,5 @@
         Constructor. Registers and initializes the object.
     */
-    Tower::Tower(BaseObject* creator) : Pawn(creator)
+    Tower::Tower(Context* context) : Pawn(context)
     {
         RegisterObject(Tower);
Index: code/branches/core6/src/modules/towerdefense/Tower.h
===================================================================
--- code/branches/core6/src/modules/towerdefense/Tower.h	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/Tower.h	(revision 9629)
@@ -27,5 +27,5 @@
     {
     public:
-        Tower(BaseObject* creator);
+        Tower(Context* context);
         virtual ~Tower() {};
 
Index: code/branches/core6/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/core6/src/modules/towerdefense/TowerDefense.cc	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/TowerDefense.cc	(revision 9629)
@@ -96,5 +96,5 @@
     CreateUnloadableFactory(TowerDefense);
 
-    TowerDefense::TowerDefense(BaseObject* creator) : Deathmatch(creator)
+    TowerDefense::TowerDefense(Context* context) : Deathmatch(context)
     {
         RegisterObject(TowerDefense);
@@ -190,5 +190,5 @@
 
         // Create tower
-        Tower* newTower = new Tower(this->center_);
+        Tower* newTower = new Tower(this->center_->getContext());
         newTower->addTemplate(this->center_->getTowerTemplate());
 
Index: code/branches/core6/src/modules/towerdefense/TowerDefense.h
===================================================================
--- code/branches/core6/src/modules/towerdefense/TowerDefense.h	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/TowerDefense.h	(revision 9629)
@@ -48,5 +48,5 @@
     {
     public:
-        TowerDefense(BaseObject* creator);
+        TowerDefense(Context* context);
         virtual ~TowerDefense();
 
Index: code/branches/core6/src/modules/towerdefense/TowerDefenseCenterpoint.cc
===================================================================
--- code/branches/core6/src/modules/towerdefense/TowerDefenseCenterpoint.cc	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/TowerDefenseCenterpoint.cc	(revision 9629)
@@ -47,5 +47,5 @@
         Constructor. Registers and initializes the object and checks whether the gametype is actually TowerDefense.
     */
-    TowerDefenseCenterpoint::TowerDefenseCenterpoint(BaseObject* creator) : MobileEntity(creator)
+    TowerDefenseCenterpoint::TowerDefenseCenterpoint(Context* context) : MobileEntity(context)
     {
         RegisterObject(TowerDefenseCenterpoint);
Index: code/branches/core6/src/modules/towerdefense/TowerDefenseCenterpoint.h
===================================================================
--- code/branches/core6/src/modules/towerdefense/TowerDefenseCenterpoint.h	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/TowerDefenseCenterpoint.h	(revision 9629)
@@ -49,5 +49,5 @@
     {
         public:
-            TowerDefenseCenterpoint(BaseObject* creator);
+            TowerDefenseCenterpoint(Context* context);
             virtual ~TowerDefenseCenterpoint() {}
 
Index: code/branches/core6/src/modules/towerdefense/TowerDefenseController.cc
===================================================================
--- code/branches/core6/src/modules/towerdefense/TowerDefenseController.cc	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/TowerDefenseController.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateFactory(TowerDefenseController);
 
-    TowerDefenseController::TowerDefenseController(BaseObject* creator) : WaypointController(creator)
+    TowerDefenseController::TowerDefenseController(Context* context) : WaypointController(context)
     {
         RegisterObject(TowerDefenseController);
Index: code/branches/core6/src/modules/towerdefense/TowerDefenseController.h
===================================================================
--- code/branches/core6/src/modules/towerdefense/TowerDefenseController.h	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/TowerDefenseController.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            TowerDefenseController(BaseObject* creator);
+            TowerDefenseController(Context* context);
             virtual ~TowerDefenseController() {}
 
Index: code/branches/core6/src/modules/towerdefense/TowerDefenseHUDController.cc
===================================================================
--- code/branches/core6/src/modules/towerdefense/TowerDefenseHUDController.cc	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/TowerDefenseHUDController.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateFactory(TowerDefenseHUDController);
 
-    TowerDefenseHUDController::TowerDefenseHUDController(BaseObject* creator) : OverlayText(creator)
+    TowerDefenseHUDController::TowerDefenseHUDController(Context* context) : OverlayText(context)
     {
         RegisterObject(TowerDefenseHUDController);
Index: code/branches/core6/src/modules/towerdefense/TowerDefenseHUDController.h
===================================================================
--- code/branches/core6/src/modules/towerdefense/TowerDefenseHUDController.h	(revision 9628)
+++ code/branches/core6/src/modules/towerdefense/TowerDefenseHUDController.h	(revision 9629)
@@ -49,5 +49,5 @@
     {
     public:
-        TowerDefenseHUDController(BaseObject* creator);
+        TowerDefenseHUDController(Context* context);
         virtual ~TowerDefenseHUDController();
 
Index: code/branches/core6/src/modules/weapons/MuzzleFlash.cc
===================================================================
--- code/branches/core6/src/modules/weapons/MuzzleFlash.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/MuzzleFlash.cc	(revision 9629)
@@ -41,5 +41,5 @@
     CreateFactory(MuzzleFlash);
 
-    MuzzleFlash::MuzzleFlash(BaseObject* creator) : Billboard(creator)
+    MuzzleFlash::MuzzleFlash(Context* context) : Billboard(context)
     {
         RegisterObject(MuzzleFlash);
Index: code/branches/core6/src/modules/weapons/MuzzleFlash.h
===================================================================
--- code/branches/core6/src/modules/weapons/MuzzleFlash.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/MuzzleFlash.h	(revision 9629)
@@ -55,5 +55,5 @@
     {
         public:
-            MuzzleFlash(BaseObject* creator);
+            MuzzleFlash(Context* context);
             virtual ~MuzzleFlash() {}
 
Index: code/branches/core6/src/modules/weapons/RocketController.cc
===================================================================
--- code/branches/core6/src/modules/weapons/RocketController.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/RocketController.cc	(revision 9629)
@@ -45,5 +45,5 @@
         Constructor.
     */
-    RocketController::RocketController(BaseObject* creator) : Controller(creator)
+    RocketController::RocketController(Context* context) : Controller(context)
     {
         RegisterObject(RocketController);
@@ -51,5 +51,5 @@
 
         // Create a rocket for the controller.
-        this->rocket_ = new SimpleRocket(this);
+        this->rocket_ = new SimpleRocket(this->getContext());
         this->rocket_->setController(this);
         this->setControllableEntity(orxonox_cast<ControllableEntity*>(this->rocket_));
Index: code/branches/core6/src/modules/weapons/RocketController.h
===================================================================
--- code/branches/core6/src/modules/weapons/RocketController.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/RocketController.h	(revision 9629)
@@ -52,5 +52,5 @@
     {
         public:
-            RocketController(BaseObject* creator);
+            RocketController(Context* context);
             virtual ~RocketController();
 
Index: code/branches/core6/src/modules/weapons/munitions/FusionMunition.cc
===================================================================
--- code/branches/core6/src/modules/weapons/munitions/FusionMunition.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/munitions/FusionMunition.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(FusionMunition);
 
-    FusionMunition::FusionMunition(BaseObject* creator) : Munition(creator)
+    FusionMunition::FusionMunition(Context* context) : Munition(context)
     {
         RegisterObject(FusionMunition);
Index: code/branches/core6/src/modules/weapons/munitions/FusionMunition.h
===================================================================
--- code/branches/core6/src/modules/weapons/munitions/FusionMunition.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/munitions/FusionMunition.h	(revision 9629)
@@ -51,5 +51,5 @@
     {
         public:
-            FusionMunition(BaseObject* creator);
+            FusionMunition(Context* context);
             virtual ~FusionMunition() {}
     };
Index: code/branches/core6/src/modules/weapons/munitions/LaserMunition.cc
===================================================================
--- code/branches/core6/src/modules/weapons/munitions/LaserMunition.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/munitions/LaserMunition.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(LaserMunition);
 
-    LaserMunition::LaserMunition(BaseObject* creator) : ReplenishingMunition(creator)
+    LaserMunition::LaserMunition(Context* context) : ReplenishingMunition(context)
     {
         RegisterObject(LaserMunition);
Index: code/branches/core6/src/modules/weapons/munitions/LaserMunition.h
===================================================================
--- code/branches/core6/src/modules/weapons/munitions/LaserMunition.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/munitions/LaserMunition.h	(revision 9629)
@@ -51,5 +51,5 @@
     {
         public:
-            LaserMunition(BaseObject* creator);
+            LaserMunition(Context* context);
             virtual ~LaserMunition() {}
     };
Index: code/branches/core6/src/modules/weapons/munitions/ReplenishingMunition.cc
===================================================================
--- code/branches/core6/src/modules/weapons/munitions/ReplenishingMunition.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/munitions/ReplenishingMunition.cc	(revision 9629)
@@ -41,5 +41,5 @@
     CreateFactory(ReplenishingMunition);
 
-    ReplenishingMunition::ReplenishingMunition(BaseObject* creator) : Munition(creator)
+    ReplenishingMunition::ReplenishingMunition(Context* context) : Munition(context)
     {
         RegisterObject(ReplenishingMunition);
Index: code/branches/core6/src/modules/weapons/munitions/ReplenishingMunition.h
===================================================================
--- code/branches/core6/src/modules/weapons/munitions/ReplenishingMunition.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/munitions/ReplenishingMunition.h	(revision 9629)
@@ -53,5 +53,5 @@
     {
         public:
-            ReplenishingMunition(BaseObject* creator);
+            ReplenishingMunition(Context* context);
             virtual ~ReplenishingMunition() {}
 
Index: code/branches/core6/src/modules/weapons/munitions/RocketMunition.cc
===================================================================
--- code/branches/core6/src/modules/weapons/munitions/RocketMunition.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/munitions/RocketMunition.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(RocketMunition);
 
-    RocketMunition::RocketMunition(BaseObject* creator) : Munition(creator)
+    RocketMunition::RocketMunition(Context* context) : Munition(context)
     {
         RegisterObject(RocketMunition);
Index: code/branches/core6/src/modules/weapons/munitions/RocketMunition.h
===================================================================
--- code/branches/core6/src/modules/weapons/munitions/RocketMunition.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/munitions/RocketMunition.h	(revision 9629)
@@ -51,5 +51,5 @@
     {
         public:
-            RocketMunition(BaseObject* creator);
+            RocketMunition(Context* context);
             virtual ~RocketMunition() {}
     };
Index: code/branches/core6/src/modules/weapons/projectiles/BasicProjectile.cc
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/BasicProjectile.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/BasicProjectile.cc	(revision 9629)
@@ -106,5 +106,5 @@
                 {
                     {
-                        ParticleSpawner* effect = new ParticleSpawner(this->getShooter()->getCreator());
+                        ParticleSpawner* effect = new ParticleSpawner(this->getShooter()->getContext());
                         effect->setPosition(entity->getPosition());
                         effect->setOrientation(entity->getOrientation());
@@ -115,5 +115,5 @@
                     // Second effect with same condition
                     {
-                        ParticleSpawner* effect = new ParticleSpawner(this->getShooter()->getCreator());
+                        ParticleSpawner* effect = new ParticleSpawner(this->getShooter()->getContext());
                         effect->setPosition(entity->getPosition());
                         effect->setOrientation(entity->getOrientation());
@@ -127,5 +127,5 @@
                 if (victim && victim->hasShield() && (this->getDamage() > 0.0f || this->getShieldDamage() > 0.0f) && victim->getHealth() > 0.0f)
                 {
-                    ParticleSpawner* effect = new ParticleSpawner(this->getShooter()->getCreator());
+                    ParticleSpawner* effect = new ParticleSpawner(this->getShooter()->getContext());
                     effect->setDestroyAfterLife(true);
                     effect->setSource("Orxonox/Shield");
Index: code/branches/core6/src/modules/weapons/projectiles/BillboardProjectile.cc
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/BillboardProjectile.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/BillboardProjectile.cc	(revision 9629)
@@ -42,5 +42,5 @@
     CreateFactory(BillboardProjectile);
 
-    BillboardProjectile::BillboardProjectile(BaseObject* creator) : Projectile(creator)
+    BillboardProjectile::BillboardProjectile(Context* context) : Projectile(context)
     {
         RegisterObject(BillboardProjectile);
Index: code/branches/core6/src/modules/weapons/projectiles/BillboardProjectile.h
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/BillboardProjectile.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/BillboardProjectile.h	(revision 9629)
@@ -55,5 +55,5 @@
     {
         public:
-            BillboardProjectile(BaseObject* creator);
+            BillboardProjectile(Context* context);
             virtual ~BillboardProjectile();
 
Index: code/branches/core6/src/modules/weapons/projectiles/LightningGunProjectile.cc
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/LightningGunProjectile.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/LightningGunProjectile.cc	(revision 9629)
@@ -42,5 +42,5 @@
     CreateFactory(LightningGunProjectile);
 
-    LightningGunProjectile::LightningGunProjectile(BaseObject* creator) : BillboardProjectile(creator)
+    LightningGunProjectile::LightningGunProjectile(Context* context) : BillboardProjectile(context)
     {
         RegisterObject(LightningGunProjectile);
Index: code/branches/core6/src/modules/weapons/projectiles/LightningGunProjectile.h
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/LightningGunProjectile.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/LightningGunProjectile.h	(revision 9629)
@@ -55,5 +55,5 @@
     {
         public:
-            LightningGunProjectile(BaseObject* creator);
+            LightningGunProjectile(Context* context);
             virtual ~LightningGunProjectile() {}
 
Index: code/branches/core6/src/modules/weapons/projectiles/ParticleProjectile.cc
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/ParticleProjectile.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/ParticleProjectile.cc	(revision 9629)
@@ -43,5 +43,5 @@
     CreateFactory(ParticleProjectile);
 
-    ParticleProjectile::ParticleProjectile(BaseObject* creator) : BillboardProjectile(creator)
+    ParticleProjectile::ParticleProjectile(Context* context) : BillboardProjectile(context)
     {
         RegisterObject(ParticleProjectile);
Index: code/branches/core6/src/modules/weapons/projectiles/ParticleProjectile.h
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/ParticleProjectile.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/ParticleProjectile.h	(revision 9629)
@@ -51,5 +51,5 @@
     {
         public:
-            ParticleProjectile(BaseObject* creator);
+            ParticleProjectile(Context* context);
             virtual ~ParticleProjectile();
             virtual void changedVisibility();
Index: code/branches/core6/src/modules/weapons/projectiles/Projectile.cc
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/Projectile.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/Projectile.cc	(revision 9629)
@@ -46,5 +46,5 @@
     CreateFactory(Projectile);
 
-    Projectile::Projectile(BaseObject* creator) : MovableEntity(creator), BasicProjectile()
+    Projectile::Projectile(Context* context) : MovableEntity(context), BasicProjectile()
     {
         RegisterObject(Projectile);
@@ -60,5 +60,5 @@
             this->setCollisionType(Kinematic);
 
-            SphereCollisionShape* shape = new SphereCollisionShape(this);
+            SphereCollisionShape* shape = new SphereCollisionShape(this->getContext());
             shape->setRadius(20.0f);
             this->attachCollisionShape(shape);
Index: code/branches/core6/src/modules/weapons/projectiles/Projectile.h
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/Projectile.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/Projectile.h	(revision 9629)
@@ -58,5 +58,5 @@
     {
         public:
-            Projectile(BaseObject* creator);
+            Projectile(Context* context);
             virtual ~Projectile();
 
Index: code/branches/core6/src/modules/weapons/projectiles/Rocket.cc
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/Rocket.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/Rocket.cc	(revision 9629)
@@ -57,8 +57,8 @@
         Constructor. Registers the object and initializes some default values.
     */
-    Rocket::Rocket(BaseObject* creator)
-        : ControllableEntity(creator)
+    Rocket::Rocket(Context* context)
+        : ControllableEntity(context)
         , BasicProjectile()
-        , RadarViewable(creator, static_cast<WorldEntity*>(this))
+        , RadarViewable(this, static_cast<WorldEntity*>(this))
     {
         RegisterObject(Rocket);// Register the Rocket class to the core
@@ -73,5 +73,5 @@
 
             // Create rocket model
-            Model* model = new Model(this);
+            Model* model = new Model(this->getContext());
             model->setMeshSource("rocket.mesh");
             model->scale(0.7f);
@@ -79,5 +79,5 @@
 
             // Add effects.
-            ParticleEmitter* fire = new ParticleEmitter(this);
+            ParticleEmitter* fire = new ParticleEmitter(this->getContext());
             this->attach(fire);
             fire->setOrientation(this->getOrientation());
@@ -89,5 +89,5 @@
 
             // Add collision shape
-            ConeCollisionShape* collisionShape = new ConeCollisionShape(this);
+            ConeCollisionShape* collisionShape = new ConeCollisionShape(this->getContext());
             collisionShape->setRadius(3);
             collisionShape->setHeight(500);
@@ -97,5 +97,5 @@
 
             // Add sound
-            this->defSndWpnEngine_ = new WorldSound(this);
+            this->defSndWpnEngine_ = new WorldSound(this->getContext());
             this->defSndWpnEngine_->setLooping(true);
             this->defSndWpnEngine_->setSource("sounds/Rocket_engine.ogg");
@@ -103,5 +103,5 @@
             this->attach(defSndWpnEngine_);
 
-            this->defSndWpnLaunch_ = new WorldSound(this);
+            this->defSndWpnLaunch_ = new WorldSound(this->getContext());
             this->defSndWpnLaunch_->setLooping(false);
             this->defSndWpnLaunch_->setSource("sounds/Rocket_launch.ogg");
@@ -116,5 +116,5 @@
 
         // Add camera
-        CameraPosition* camPosition = new CameraPosition(this);
+        CameraPosition* camPosition = new CameraPosition(this->getContext());
         camPosition->setPosition(0,4,15);
         camPosition->setAllowMouseLook(true);
@@ -226,11 +226,11 @@
         if(this->getShooter())
         {
-            effect1 = new ParticleSpawner(this->getShooter()->getCreator());
-            effect2 = new ParticleSpawner(this->getShooter()->getCreator());
+            effect1 = new ParticleSpawner(this->getShooter()->getContext());
+            effect2 = new ParticleSpawner(this->getShooter()->getContext());
         }
         else
         {
-            effect1 = new ParticleSpawner(static_cast<BaseObject*>(this->getScene().get()));
-            effect2 = new ParticleSpawner(static_cast<BaseObject*>(this->getScene().get()));
+            effect1 = new ParticleSpawner(this->getContext());
+            effect2 = new ParticleSpawner(this->getContext());
         }
 
Index: code/branches/core6/src/modules/weapons/projectiles/Rocket.h
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/Rocket.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/Rocket.h	(revision 9629)
@@ -59,5 +59,5 @@
     {
         public:
-            Rocket(BaseObject* creator);
+            Rocket(Context* context);
             virtual ~Rocket();
 
Index: code/branches/core6/src/modules/weapons/projectiles/SimpleRocket.cc
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/SimpleRocket.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/SimpleRocket.cc	(revision 9629)
@@ -56,8 +56,8 @@
     const float SimpleRocket::FUEL_PERCENTAGE = 0.8f;
 
-    SimpleRocket::SimpleRocket(BaseObject* creator)
-        : ControllableEntity(creator)
+    SimpleRocket::SimpleRocket(Context* context)
+        : ControllableEntity(context)
         , BasicProjectile()
-        , RadarViewable(creator, static_cast<WorldEntity*>(this))
+        , RadarViewable(this, static_cast<WorldEntity*>(this))
     {
         RegisterObject(SimpleRocket);// Register the SimpleRocket class to the core
@@ -74,5 +74,5 @@
 
             // Create rocket model.
-            Model* model = new Model(this);
+            Model* model = new Model(this->getContext());
             model->setMeshSource("rocket.mesh");
             model->scale(0.7f);
@@ -80,5 +80,5 @@
 
             // Add effects.
-            this->fire_ = new ParticleEmitter(this);
+            this->fire_ = new ParticleEmitter(this->getContext());
             this->attach(this->fire_);
 
@@ -91,5 +91,5 @@
             // Add collision shape.
             // TODO: fix the orientation and size of this collision shape to match the rocket
-            ConeCollisionShape* collisionShape = new ConeCollisionShape(this);
+            ConeCollisionShape* collisionShape = new ConeCollisionShape(this->getContext());
             collisionShape->setOrientation(this->getOrientation());
             collisionShape->setRadius(1.5f);
Index: code/branches/core6/src/modules/weapons/projectiles/SimpleRocket.h
===================================================================
--- code/branches/core6/src/modules/weapons/projectiles/SimpleRocket.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/projectiles/SimpleRocket.h	(revision 9629)
@@ -60,5 +60,5 @@
     {
         public:
-            SimpleRocket(BaseObject* creator);
+            SimpleRocket(Context* context);
             virtual ~SimpleRocket();
             virtual void tick(float dt);
Index: code/branches/core6/src/modules/weapons/weaponmodes/EnergyDrink.cc
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/EnergyDrink.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/EnergyDrink.cc	(revision 9629)
@@ -51,5 +51,5 @@
     CreateFactory(EnergyDrink);
 
-    EnergyDrink::EnergyDrink(BaseObject* creator) : WeaponMode(creator)
+    EnergyDrink::EnergyDrink(Context* context) : WeaponMode(context)
     {
         RegisterObject(EnergyDrink);
@@ -101,6 +101,6 @@
     {
         // Create the projectile
-        Projectile* projectile = new Projectile(this);
-        Model* model = new Model(projectile);
+        Projectile* projectile = new Projectile(this->getContext());
+        Model* model = new Model(projectile->getContext());
         model->setMeshSource("can.mesh");
         model->setCastShadows(false);
@@ -127,5 +127,5 @@
     void EnergyDrink::muzzleflash()
     {
-        MuzzleFlash *muzzleFlash = new MuzzleFlash(this);
+        MuzzleFlash *muzzleFlash = new MuzzleFlash(this->getContext());
         this->getWeapon()->attach(muzzleFlash);
         muzzleFlash->setPosition(this->getMuzzleOffset());
Index: code/branches/core6/src/modules/weapons/weaponmodes/EnergyDrink.h
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/EnergyDrink.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/EnergyDrink.h	(revision 9629)
@@ -54,5 +54,5 @@
     {
         public:
-            EnergyDrink(BaseObject* creator);
+            EnergyDrink(Context* context);
             virtual ~EnergyDrink() {}
 
Index: code/branches/core6/src/modules/weapons/weaponmodes/FusionFire.cc
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/FusionFire.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/FusionFire.cc	(revision 9629)
@@ -48,5 +48,5 @@
     CreateFactory(FusionFire);
 
-    FusionFire::FusionFire(BaseObject* creator) : WeaponMode(creator)
+    FusionFire::FusionFire(Context* context) : WeaponMode(context)
     {
         RegisterObject(FusionFire);
@@ -66,5 +66,5 @@
     void FusionFire::fire()
     {
-        BillboardProjectile* projectile = new BillboardProjectile(this);
+        BillboardProjectile* projectile = new BillboardProjectile(this->getContext());
 
         projectile->setOrientation(this->getMuzzleOrientation());
Index: code/branches/core6/src/modules/weapons/weaponmodes/FusionFire.h
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/FusionFire.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/FusionFire.h	(revision 9629)
@@ -51,5 +51,5 @@
     {
         public:
-            FusionFire(BaseObject* creator);
+            FusionFire(Context* context);
             virtual ~FusionFire() {}
 
Index: code/branches/core6/src/modules/weapons/weaponmodes/HsW01.cc
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/HsW01.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/HsW01.cc	(revision 9629)
@@ -52,5 +52,5 @@
     CreateFactory(HsW01);
 
-    HsW01::HsW01(BaseObject* creator) : WeaponMode(creator)
+    HsW01::HsW01(Context* context) : WeaponMode(context)
     {
         RegisterObject(HsW01);
@@ -111,6 +111,6 @@
 
         // Create the projectile.
-        Projectile* projectile = new Projectile(this);
-        Model* model = new Model(projectile);
+        Projectile* projectile = new Projectile(this->getContext());
+        Model* model = new Model(projectile->getContext());
         model->setMeshSource(mesh_);
         model->setCastShadows(false);
@@ -138,5 +138,5 @@
     void HsW01::muzzleflash()
     {
-        MuzzleFlash *muzzleFlash = new MuzzleFlash(this);
+        MuzzleFlash *muzzleFlash = new MuzzleFlash(this->getContext());
         this->getWeapon()->attach(muzzleFlash);
         muzzleFlash->setPosition(this->getMuzzleOffset());
Index: code/branches/core6/src/modules/weapons/weaponmodes/HsW01.h
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/HsW01.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/HsW01.h	(revision 9629)
@@ -53,5 +53,5 @@
     {
         public:
-            HsW01(BaseObject* creator);
+            HsW01(Context* context);
             virtual ~HsW01();
 
Index: code/branches/core6/src/modules/weapons/weaponmodes/LaserFire.cc
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/LaserFire.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/LaserFire.cc	(revision 9629)
@@ -47,5 +47,5 @@
     CreateFactory(LaserFire);
 
-    LaserFire::LaserFire(BaseObject* creator) : WeaponMode(creator)
+    LaserFire::LaserFire(Context* context) : WeaponMode(context)
     {
         RegisterObject(LaserFire);
@@ -64,5 +64,5 @@
     void LaserFire::fire()
     {
-        ParticleProjectile* projectile = new ParticleProjectile(this);
+        ParticleProjectile* projectile = new ParticleProjectile(this->getContext());
 
         projectile->setOrientation(this->getMuzzleOrientation());
Index: code/branches/core6/src/modules/weapons/weaponmodes/LaserFire.h
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/LaserFire.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/LaserFire.h	(revision 9629)
@@ -51,5 +51,5 @@
     {
         public:
-            LaserFire(BaseObject* creator);
+            LaserFire(Context* context);
             virtual ~LaserFire() {}
 
Index: code/branches/core6/src/modules/weapons/weaponmodes/LightningGun.cc
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/LightningGun.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/LightningGun.cc	(revision 9629)
@@ -46,5 +46,5 @@
     CreateFactory(LightningGun);
 
-    LightningGun::LightningGun(BaseObject* creator) : WeaponMode(creator)
+    LightningGun::LightningGun(Context* context) : WeaponMode(context)
     {
         RegisterObject(LightningGun);
@@ -68,5 +68,5 @@
     void LightningGun::fire()
     {
-        LightningGunProjectile* projectile = new LightningGunProjectile(this);
+        LightningGunProjectile* projectile = new LightningGunProjectile(this->getContext());
         projectile->setMaterial("Flares/LightningBall_");
 
Index: code/branches/core6/src/modules/weapons/weaponmodes/LightningGun.h
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/LightningGun.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/LightningGun.h	(revision 9629)
@@ -51,5 +51,5 @@
     {
         public:
-            LightningGun(BaseObject* creator);
+            LightningGun(Context* context);
             virtual ~LightningGun();
 
Index: code/branches/core6/src/modules/weapons/weaponmodes/RocketFire.cc
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/RocketFire.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/RocketFire.cc	(revision 9629)
@@ -48,5 +48,5 @@
     CreateFactory(RocketFire);
 
-    RocketFire::RocketFire(BaseObject* creator) : WeaponMode(creator)
+    RocketFire::RocketFire(Context* context) : WeaponMode(context)
     {
         RegisterObject(RocketFire);
@@ -71,5 +71,5 @@
     void RocketFire::fire()
     {
-        Rocket* rocket = new Rocket(this);
+        Rocket* rocket = new Rocket(this->getContext());
 
         this->computeMuzzleParameters(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn()->getAimPosition());
Index: code/branches/core6/src/modules/weapons/weaponmodes/RocketFire.h
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/RocketFire.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/RocketFire.h	(revision 9629)
@@ -51,5 +51,5 @@
     {
         public:
-            RocketFire(BaseObject* creator);
+            RocketFire(Context* context);
             virtual ~RocketFire();
 
Index: code/branches/core6/src/modules/weapons/weaponmodes/SimpleRocketFire.cc
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/SimpleRocketFire.cc	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/SimpleRocketFire.cc	(revision 9629)
@@ -52,5 +52,5 @@
     CreateFactory(SimpleRocketFire);
 
-    SimpleRocketFire::SimpleRocketFire(BaseObject* creator) : WeaponMode(creator)
+    SimpleRocketFire::SimpleRocketFire(Context* context) : WeaponMode(context)
     {
         RegisterObject(SimpleRocketFire);
@@ -76,5 +76,5 @@
     void SimpleRocketFire::fire()
     {
-        RocketController* controller = new RocketController(this);
+        RocketController* controller = new RocketController(this->getContext());
         SimpleRocket* rocket = controller->getRocket();
         this->computeMuzzleParameters(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn()->getAimPosition());
Index: code/branches/core6/src/modules/weapons/weaponmodes/SimpleRocketFire.h
===================================================================
--- code/branches/core6/src/modules/weapons/weaponmodes/SimpleRocketFire.h	(revision 9628)
+++ code/branches/core6/src/modules/weapons/weaponmodes/SimpleRocketFire.h	(revision 9629)
@@ -50,5 +50,5 @@
     {
         public:
-            SimpleRocketFire(BaseObject* creator);
+            SimpleRocketFire(Context* context);
             virtual ~SimpleRocketFire();
             void deactivateFire();
Index: code/branches/core6/src/orxonox/Level.cc
===================================================================
--- code/branches/core6/src/orxonox/Level.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/Level.cc	(revision 9629)
@@ -45,5 +45,5 @@
     CreateFactory(Level);
 
-    Level::Level(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    Level::Level(Context* context) : BaseObject(context), Synchronisable(context), Context(context)
     {
         RegisterObject(Level);
Index: code/branches/core6/src/orxonox/Level.h
===================================================================
--- code/branches/core6/src/orxonox/Level.h	(revision 9628)
+++ code/branches/core6/src/orxonox/Level.h	(revision 9629)
@@ -41,8 +41,8 @@
 namespace orxonox
 {
-    class _OrxonoxExport Level : public BaseObject, public Synchronisable
+    class _OrxonoxExport Level : public BaseObject, public Synchronisable, public Context
     {
         public:
-            Level(BaseObject* creator);
+            Level(Context* context);
             virtual ~Level();
 
Index: code/branches/core6/src/orxonox/LevelInfo.cc
===================================================================
--- code/branches/core6/src/orxonox/LevelInfo.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/LevelInfo.cc	(revision 9629)
@@ -250,5 +250,5 @@
         The creator of this object.
     */
-    LevelInfo::LevelInfo(BaseObject* creator) : BaseObject(creator)
+    LevelInfo::LevelInfo(Context* context) : BaseObject(context)
     {
         RegisterObject(LevelInfo);
Index: code/branches/core6/src/orxonox/LevelInfo.h
===================================================================
--- code/branches/core6/src/orxonox/LevelInfo.h	(revision 9628)
+++ code/branches/core6/src/orxonox/LevelInfo.h	(revision 9629)
@@ -204,5 +204,5 @@
     {
         public:
-            LevelInfo(BaseObject* creator);
+            LevelInfo(Context* context);
             virtual ~LevelInfo();
 
Index: code/branches/core6/src/orxonox/Scene.cc
===================================================================
--- code/branches/core6/src/orxonox/Scene.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/Scene.cc	(revision 9629)
@@ -53,5 +53,5 @@
     CreateFactory(Scene);
 
-    Scene::Scene(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    Scene::Scene(Context* context) : BaseObject(context), Synchronisable(context), Context(context)
     {
         RegisterObject(Scene);
Index: code/branches/core6/src/orxonox/Scene.h
===================================================================
--- code/branches/core6/src/orxonox/Scene.h	(revision 9628)
+++ code/branches/core6/src/orxonox/Scene.h	(revision 9629)
@@ -45,8 +45,8 @@
 namespace orxonox
 {
-    class _OrxonoxExport Scene : public BaseObject, public Synchronisable, public Tickable
+    class _OrxonoxExport Scene : public BaseObject, public Synchronisable, public Tickable, public Context
     {
         public:
-            Scene(BaseObject* creator);
+            Scene(Context* context);
             virtual ~Scene();
 
Index: code/branches/core6/src/orxonox/Test.cc
===================================================================
--- code/branches/core6/src/orxonox/Test.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/Test.cc	(revision 9629)
@@ -56,5 +56,5 @@
     Test* Test::instance_ = 0;
 
-    Test::Test(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    Test::Test(Context* context) : BaseObject(context), Synchronisable(context)
     {
         assert(instance_==0);
Index: code/branches/core6/src/orxonox/Test.h
===================================================================
--- code/branches/core6/src/orxonox/Test.h	(revision 9628)
+++ code/branches/core6/src/orxonox/Test.h	(revision 9629)
@@ -46,5 +46,5 @@
   {
     public:
-      Test(BaseObject* creator);
+      Test(Context* context);
       virtual ~Test();
 
Index: code/branches/core6/src/orxonox/chat/ChatHistory.cc
===================================================================
--- code/branches/core6/src/orxonox/chat/ChatHistory.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/chat/ChatHistory.cc	(revision 9629)
@@ -39,5 +39,4 @@
   /* constructor */
 #ifndef CHATTEST
-  //ChatHistory::ChatHistory( BaseObject* creator ) : BaseObject(creator)
   ChatHistory::ChatHistory()
 #else
Index: code/branches/core6/src/orxonox/collisionshapes/CollisionShape.cc
===================================================================
--- code/branches/core6/src/orxonox/collisionshapes/CollisionShape.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/collisionshapes/CollisionShape.cc	(revision 9629)
@@ -49,7 +49,7 @@
         Constructor. Registers and initializes the object.
     */
-    CollisionShape::CollisionShape(BaseObject* creator)
-        : BaseObject(creator)
-        , Synchronisable(creator)
+    CollisionShape::CollisionShape(Context* context)
+        : BaseObject(context)
+        , Synchronisable(context)
     {
         RegisterObject(CollisionShape);
Index: code/branches/core6/src/orxonox/collisionshapes/CollisionShape.h
===================================================================
--- code/branches/core6/src/orxonox/collisionshapes/CollisionShape.h	(revision 9628)
+++ code/branches/core6/src/orxonox/collisionshapes/CollisionShape.h	(revision 9629)
@@ -58,5 +58,5 @@
     {
         public:
-            CollisionShape(BaseObject* creator);
+            CollisionShape(Context* context);
             virtual ~CollisionShape();
 
Index: code/branches/core6/src/orxonox/collisionshapes/CompoundCollisionShape.cc
===================================================================
--- code/branches/core6/src/orxonox/collisionshapes/CompoundCollisionShape.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/collisionshapes/CompoundCollisionShape.cc	(revision 9629)
@@ -48,5 +48,5 @@
         Constructor. Registers and initializes the object.
     */
-    CompoundCollisionShape::CompoundCollisionShape(BaseObject* creator) : CollisionShape(creator)
+    CompoundCollisionShape::CompoundCollisionShape(Context* context) : CollisionShape(context)
     {
         RegisterObject(CompoundCollisionShape);
Index: code/branches/core6/src/orxonox/collisionshapes/CompoundCollisionShape.h
===================================================================
--- code/branches/core6/src/orxonox/collisionshapes/CompoundCollisionShape.h	(revision 9628)
+++ code/branches/core6/src/orxonox/collisionshapes/CompoundCollisionShape.h	(revision 9629)
@@ -58,5 +58,5 @@
     {
         public:
-            CompoundCollisionShape(BaseObject* creator);
+            CompoundCollisionShape(Context* context);
             virtual ~CompoundCollisionShape();
 
Index: code/branches/core6/src/orxonox/collisionshapes/WorldEntityCollisionShape.cc
===================================================================
--- code/branches/core6/src/orxonox/collisionshapes/WorldEntityCollisionShape.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/collisionshapes/WorldEntityCollisionShape.cc	(revision 9629)
@@ -37,5 +37,5 @@
 namespace orxonox
 {
-    WorldEntityCollisionShape::WorldEntityCollisionShape(BaseObject* creator) : CompoundCollisionShape(creator)
+    WorldEntityCollisionShape::WorldEntityCollisionShape(Context* context) : CompoundCollisionShape(context)
     {
         RegisterObject(WorldEntityCollisionShape);
Index: code/branches/core6/src/orxonox/collisionshapes/WorldEntityCollisionShape.h
===================================================================
--- code/branches/core6/src/orxonox/collisionshapes/WorldEntityCollisionShape.h	(revision 9628)
+++ code/branches/core6/src/orxonox/collisionshapes/WorldEntityCollisionShape.h	(revision 9629)
@@ -38,5 +38,5 @@
     {
         public:
-            WorldEntityCollisionShape(BaseObject* creator);
+            WorldEntityCollisionShape(Context* context);
             virtual ~WorldEntityCollisionShape();
 
Index: code/branches/core6/src/orxonox/controllers/AIController.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/AIController.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/AIController.cc	(revision 9629)
@@ -41,5 +41,5 @@
     CreateFactory(AIController);
 
-    AIController::AIController(BaseObject* creator) : ArtificialController(creator)
+    AIController::AIController(Context* context) : ArtificialController(context)
     {
         RegisterObject(AIController);
Index: code/branches/core6/src/orxonox/controllers/AIController.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/AIController.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/AIController.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            AIController(BaseObject* creator);
+            AIController(Context* context);
             virtual ~AIController();
 
Index: code/branches/core6/src/orxonox/controllers/ArtificialController.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/ArtificialController.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/ArtificialController.cc	(revision 9629)
@@ -45,5 +45,5 @@
     SetConsoleCommand("ArtificialController", "setbotlevel",      &ArtificialController::setAllBotLevel);
 
-    ArtificialController::ArtificialController(BaseObject* creator) : FormationController(creator)
+    ArtificialController::ArtificialController(Context* context) : FormationController(context)
     {
         RegisterObject(ArtificialController);
Index: code/branches/core6/src/orxonox/controllers/ArtificialController.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/ArtificialController.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/ArtificialController.h	(revision 9629)
@@ -39,5 +39,5 @@
     {
         public:
-            ArtificialController(BaseObject* creator);
+            ArtificialController(Context* context);
             virtual ~ArtificialController();
 
Index: code/branches/core6/src/orxonox/controllers/Controller.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/Controller.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/Controller.cc	(revision 9629)
@@ -35,5 +35,5 @@
     CreateUnloadableFactory(Controller);
 
-    Controller::Controller(BaseObject* creator) : BaseObject(creator)
+    Controller::Controller(Context* context) : BaseObject(context)
     {
         RegisterObject(Controller);
Index: code/branches/core6/src/orxonox/controllers/Controller.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/Controller.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/Controller.h	(revision 9629)
@@ -42,5 +42,5 @@
 
         public:
-            Controller(BaseObject* creator);
+            Controller(Context* context);
             virtual ~Controller();
 
Index: code/branches/core6/src/orxonox/controllers/DroneController.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/DroneController.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/DroneController.cc	(revision 9629)
@@ -45,5 +45,5 @@
     const float DroneController::ACTION_INTERVAL = 1.0f;
 
-    DroneController::DroneController(BaseObject* creator) : ArtificialController(creator)
+    DroneController::DroneController(Context* context) : ArtificialController(context)
     {
         RegisterObject(DroneController);
Index: code/branches/core6/src/orxonox/controllers/DroneController.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/DroneController.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/DroneController.h	(revision 9629)
@@ -50,5 +50,5 @@
     {
         public:
-            DroneController(BaseObject* creator);
+            DroneController(Context* context);
             virtual ~DroneController();
 
Index: code/branches/core6/src/orxonox/controllers/FormationController.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/FormationController.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/FormationController.cc	(revision 9629)
@@ -69,5 +69,5 @@
     static const float ROTATEFACTOR_FREE = 0.8f;
 
-    FormationController::FormationController(BaseObject* creator) : Controller(creator)
+    FormationController::FormationController(Context* context) : Controller(context)
     {
         RegisterObject(FormationController);
Index: code/branches/core6/src/orxonox/controllers/FormationController.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/FormationController.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/FormationController.h	(revision 9629)
@@ -46,5 +46,5 @@
 
       public:
-      FormationController(BaseObject* creator);
+      FormationController(Context* context);
 
       virtual ~FormationController();
Index: code/branches/core6/src/orxonox/controllers/HumanController.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/HumanController.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/HumanController.cc	(revision 9629)
@@ -71,5 +71,5 @@
     /*static*/ const float HumanController::BOOSTING_TIME = 0.1f;
 
-    HumanController::HumanController(BaseObject* creator) : FormationController(creator)
+    HumanController::HumanController(Context* context) : FormationController(context)
     {
         RegisterObject(HumanController);
Index: code/branches/core6/src/orxonox/controllers/HumanController.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/HumanController.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/HumanController.h	(revision 9629)
@@ -44,5 +44,5 @@
     { // tolua_export
         public:
-            HumanController(BaseObject* creator);
+            HumanController(Context* context);
             virtual ~HumanController();
 
Index: code/branches/core6/src/orxonox/controllers/NewHumanController.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/NewHumanController.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/NewHumanController.cc	(revision 9629)
@@ -60,6 +60,6 @@
     NewHumanController* NewHumanController::localController_s = 0;
 
-    NewHumanController::NewHumanController(BaseObject* creator)
-        : HumanController(creator)
+    NewHumanController::NewHumanController(Context* context)
+        : HumanController(context)
         , crossHairOverlay_(NULL)
         , centerOverlay_(NULL)
@@ -98,5 +98,5 @@
         if (GameMode::showsGraphics())
         {
-            crossHairOverlay_ = new OrxonoxOverlay(this);
+            crossHairOverlay_ = new OrxonoxOverlay(this->getContext());
             crossHairOverlay_->setBackgroundMaterial("Orxonox/Crosshair3");
             crossHairOverlay_->setSize(Vector2(overlaySize_, overlaySize_));
@@ -104,5 +104,5 @@
             //crossHairOverlay_->setAspectCorrection(true); not working
 
-            centerOverlay_ = new OrxonoxOverlay(this);
+            centerOverlay_ = new OrxonoxOverlay(this->getContext());
             centerOverlay_->setBackgroundMaterial("Orxonox/CenterOverlay");
             centerOverlay_->setSize(Vector2(overlaySize_ * 2.5f, overlaySize_ * 2.5f));
@@ -112,5 +112,5 @@
             if (showDamageOverlay_)
             {
-                damageOverlayTop_ = new OrxonoxOverlay(this);
+                damageOverlayTop_ = new OrxonoxOverlay(this->getContext());
                 damageOverlayTop_->setBackgroundMaterial("Orxonox/DamageOverlayTop");
                 damageOverlayTop_->setSize(Vector2(overlaySize_ * 2.5f, overlaySize_ * 2.5f));
@@ -118,5 +118,5 @@
                 damageOverlayTop_->hide();
 
-                damageOverlayRight_ = new OrxonoxOverlay(this);
+                damageOverlayRight_ = new OrxonoxOverlay(this->getContext());
                 damageOverlayRight_->setBackgroundMaterial("Orxonox/DamageOverlayRight");
                 damageOverlayRight_->setSize(Vector2(overlaySize_ * 2.5f, overlaySize_ * 2.5f));
@@ -124,5 +124,5 @@
                 damageOverlayRight_->hide();
 
-                damageOverlayBottom_ = new OrxonoxOverlay(this);
+                damageOverlayBottom_ = new OrxonoxOverlay(this->getContext());
                 damageOverlayBottom_->setBackgroundMaterial("Orxonox/DamageOverlayBottom");
                 damageOverlayBottom_->setSize(Vector2(overlaySize_ * 2.5f, overlaySize_ * 2.5f));
@@ -130,5 +130,5 @@
                 damageOverlayBottom_->hide();
 
-                damageOverlayLeft_ = new OrxonoxOverlay(this);
+                damageOverlayLeft_ = new OrxonoxOverlay(this->getContext());
                 damageOverlayLeft_->setBackgroundMaterial("Orxonox/DamageOverlayLeft");
                 damageOverlayLeft_->setSize(Vector2(overlaySize_ * 2.5f, overlaySize_ * 2.5f));
@@ -139,5 +139,5 @@
             if (showArrows_)
             {
-                arrowsOverlay1_ = new OrxonoxOverlay(this);
+                arrowsOverlay1_ = new OrxonoxOverlay(this->getContext());
                 arrowsOverlay1_->setBackgroundMaterial("Orxonox/DirectionArrows1");
                 arrowsOverlay1_->setSize(Vector2(0.02727f, 0.36f * arrowsSize_));
@@ -146,5 +146,5 @@
                 arrowsOverlay1_->hide();
 
-                arrowsOverlay2_ = new OrxonoxOverlay(this);
+                arrowsOverlay2_ = new OrxonoxOverlay(this->getContext());
                 arrowsOverlay2_->setBackgroundMaterial("Orxonox/DirectionArrows2");
                 arrowsOverlay2_->setSize(Vector2(0.02727f, 0.59f * arrowsSize_));
@@ -153,5 +153,5 @@
                 arrowsOverlay2_->hide();
 
-                arrowsOverlay3_ = new OrxonoxOverlay(this);
+                arrowsOverlay3_ = new OrxonoxOverlay(this->getContext());
                 arrowsOverlay3_->setBackgroundMaterial("Orxonox/DirectionArrows3");
                 arrowsOverlay3_->setSize(Vector2(0.02727f, 0.77f * arrowsSize_));
@@ -160,5 +160,5 @@
                 arrowsOverlay3_->hide();
 
-                arrowsOverlay4_ = new OrxonoxOverlay(this);
+                arrowsOverlay4_ = new OrxonoxOverlay(this->getContext());
                 arrowsOverlay4_->setBackgroundMaterial("Orxonox/DirectionArrows4");
                 arrowsOverlay4_->setSize(Vector2(0.02727f, arrowsSize_));
Index: code/branches/core6/src/orxonox/controllers/NewHumanController.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/NewHumanController.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/NewHumanController.h	(revision 9629)
@@ -42,5 +42,5 @@
     {
         public:
-            NewHumanController(BaseObject* creator);
+            NewHumanController(Context* context);
             virtual ~NewHumanController();
 
Index: code/branches/core6/src/orxonox/controllers/ScriptController.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/ScriptController.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/ScriptController.cc	(revision 9629)
@@ -34,5 +34,5 @@
     CreateFactory(ScriptController);
 
-    ScriptController::ScriptController(BaseObject* creator) : ArtificialController(creator)
+    ScriptController::ScriptController(Context* context) : ArtificialController(context)
     {
         RegisterObject(ScriptController);
Index: code/branches/core6/src/orxonox/controllers/ScriptController.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/ScriptController.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/ScriptController.h	(revision 9629)
@@ -38,5 +38,5 @@
     {
         public:
-            ScriptController(BaseObject* creator);
+            ScriptController(Context* context);
             virtual ~ScriptController() { }
 
Index: code/branches/core6/src/orxonox/controllers/WaypointController.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/WaypointController.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/WaypointController.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(WaypointController);
 
-    WaypointController::WaypointController(BaseObject* creator) : ArtificialController(creator)
+    WaypointController::WaypointController(Context* context) : ArtificialController(context)
     {
         RegisterObject(WaypointController);
Index: code/branches/core6/src/orxonox/controllers/WaypointController.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/WaypointController.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/WaypointController.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            WaypointController(BaseObject* creator);
+            WaypointController(Context* context);
             virtual ~WaypointController();
 
Index: code/branches/core6/src/orxonox/controllers/WaypointPatrolController.cc
===================================================================
--- code/branches/core6/src/orxonox/controllers/WaypointPatrolController.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/WaypointPatrolController.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateFactory(WaypointPatrolController);
 
-    WaypointPatrolController::WaypointPatrolController(BaseObject* creator) : WaypointController(creator)
+    WaypointPatrolController::WaypointPatrolController(Context* context) : WaypointController(context)
     {
         RegisterObject(WaypointPatrolController);
Index: code/branches/core6/src/orxonox/controllers/WaypointPatrolController.h
===================================================================
--- code/branches/core6/src/orxonox/controllers/WaypointPatrolController.h	(revision 9628)
+++ code/branches/core6/src/orxonox/controllers/WaypointPatrolController.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            WaypointPatrolController(BaseObject* creator);
+            WaypointPatrolController(Context* context);
             virtual ~WaypointPatrolController() {}
 
Index: code/branches/core6/src/orxonox/gametypes/Asteroids.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Asteroids.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Asteroids.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateUnloadableFactory(Asteroids);
 
-    Asteroids::Asteroids(BaseObject* creator) : Gametype(creator)
+    Asteroids::Asteroids(Context* context) : Gametype(context)
     {
         RegisterObject(Asteroids);
Index: code/branches/core6/src/orxonox/gametypes/Asteroids.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Asteroids.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Asteroids.h	(revision 9629)
@@ -38,5 +38,5 @@
     {
         public:
-            Asteroids(BaseObject* creator);
+            Asteroids(Context* context);
             virtual ~Asteroids() {}
 
Index: code/branches/core6/src/orxonox/gametypes/Deathmatch.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Deathmatch.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Deathmatch.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateUnloadableFactory(Deathmatch);
 
-    Deathmatch::Deathmatch(BaseObject* creator) : Gametype(creator)
+    Deathmatch::Deathmatch(Context* context) : Gametype(context)
     {
         RegisterObject(Deathmatch);
Index: code/branches/core6/src/orxonox/gametypes/Deathmatch.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Deathmatch.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Deathmatch.h	(revision 9629)
@@ -38,5 +38,5 @@
     {
         public:
-            Deathmatch(BaseObject* creator);
+            Deathmatch(Context* context);
             virtual ~Deathmatch() {}
 
Index: code/branches/core6/src/orxonox/gametypes/Dynamicmatch.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Dynamicmatch.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Dynamicmatch.cc	(revision 9629)
@@ -64,5 +64,5 @@
     CreateUnloadableFactory(Dynamicmatch);
 
-    Dynamicmatch::Dynamicmatch(BaseObject* creator) : Gametype(creator)
+    Dynamicmatch::Dynamicmatch(Context* context) : Gametype(context)
     {
         RegisterObject(Dynamicmatch);
Index: code/branches/core6/src/orxonox/gametypes/Dynamicmatch.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Dynamicmatch.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Dynamicmatch.h	(revision 9629)
@@ -44,5 +44,5 @@
     {
         public:
-            Dynamicmatch(BaseObject* creator);
+            Dynamicmatch(Context* context);
             virtual ~Dynamicmatch() {}
 
Index: code/branches/core6/src/orxonox/gametypes/Gametype.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Gametype.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Gametype.cc	(revision 9629)
@@ -49,9 +49,9 @@
     CreateUnloadableFactory(Gametype);
 
-    Gametype::Gametype(BaseObject* creator) : BaseObject(creator)
+    Gametype::Gametype(Context* context) : BaseObject(context)
     {
         RegisterObject(Gametype);
 
-        this->gtinfo_ = new GametypeInfo(creator);
+        this->gtinfo_ = new GametypeInfo(context);
 
         this->setGametype(SmartPtr<Gametype>(this, false));
@@ -74,5 +74,5 @@
         if (GameMode::showsGraphics() && !this->scoreboardTemplate_.empty())
         {
-            this->scoreboard_ = new OverlayGroup(this);
+            this->scoreboard_ = new OverlayGroup(context);
             this->scoreboard_->addTemplate(this->scoreboardTemplate_);
             this->scoreboard_->setGametype(this);
@@ -160,5 +160,5 @@
                 ControllableEntity* oldentity = it->first->getControllableEntity();
 
-                ControllableEntity* entity = this->defaultControllableEntity_.fabricate(oldentity);
+                ControllableEntity* entity = this->defaultControllableEntity_.fabricate(oldentity->getContext());
                 if (oldentity->getCamera())
                 {
@@ -283,5 +283,5 @@
                     this->gtinfo_->pawnKilled(victim->getPlayer());
 
-                ControllableEntity* entity = this->defaultControllableEntity_.fabricate(victim->getCreator());
+                ControllableEntity* entity = this->defaultControllableEntity_.fabricate(victim->getContext());
                 if (victim->getCamera())
                 {
@@ -458,5 +458,5 @@
         {
             // force spawn at spawnpoint with default pawn
-            ControllableEntity* entity = this->defaultControllableEntity_.fabricate(spawn);
+            ControllableEntity* entity = this->defaultControllableEntity_.fabricate(spawn->getContext());
             spawn->spawn(entity);
             player->startControl(entity);
@@ -472,5 +472,5 @@
     {
         for (unsigned int i = 0; i < amount; ++i)
-            this->botclass_.fabricate(this);
+            this->botclass_.fabricate(this->getContext());
     }
 
Index: code/branches/core6/src/orxonox/gametypes/Gametype.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Gametype.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Gametype.h	(revision 9629)
@@ -67,5 +67,5 @@
 
         public:
-            Gametype(BaseObject* creator);
+            Gametype(Context* context);
             virtual ~Gametype();
 
Index: code/branches/core6/src/orxonox/gametypes/LastManStanding.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/LastManStanding.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/LastManStanding.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateUnloadableFactory(LastManStanding);
 
-    LastManStanding::LastManStanding(BaseObject* creator) : Deathmatch(creator)
+    LastManStanding::LastManStanding(Context* context) : Deathmatch(context)
     {
         RegisterObject(LastManStanding);
Index: code/branches/core6/src/orxonox/gametypes/LastManStanding.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/LastManStanding.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/LastManStanding.h	(revision 9629)
@@ -65,5 +65,5 @@
 
         public:
-            LastManStanding(BaseObject* creator); //!< Default Constructor.
+            LastManStanding(Context* context); //!< Default Constructor.
             virtual ~LastManStanding() {} //!< Default Destructor.
             void setConfigValues(); //!< Makes values configurable.
Index: code/branches/core6/src/orxonox/gametypes/LastTeamStanding.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/LastTeamStanding.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/LastTeamStanding.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateUnloadableFactory(LastTeamStanding);
 
-    LastTeamStanding::LastTeamStanding(BaseObject* creator) : TeamDeathmatch(creator)
+    LastTeamStanding::LastTeamStanding(Context* context) : TeamDeathmatch(context)
     {
         RegisterObject(LastTeamStanding);
Index: code/branches/core6/src/orxonox/gametypes/LastTeamStanding.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/LastTeamStanding.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/LastTeamStanding.h	(revision 9629)
@@ -71,5 +71,5 @@
 
         public:
-            LastTeamStanding(BaseObject* creator); //!< Default Constructor.
+            LastTeamStanding(Context* context); //!< Default Constructor.
             virtual ~LastTeamStanding(); //!< Default Destructor.
 
Index: code/branches/core6/src/orxonox/gametypes/Mission.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Mission.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Mission.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateUnloadableFactory(Mission);
 
-    Mission::Mission(BaseObject* creator) : TeamGametype(creator)
+    Mission::Mission(Context* context) : TeamGametype(context)
     {
         RegisterObject(Mission);
Index: code/branches/core6/src/orxonox/gametypes/Mission.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/Mission.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/Mission.h	(revision 9629)
@@ -39,5 +39,5 @@
     {
         public:
-            Mission(BaseObject* creator);
+            Mission(Context* context);
             virtual ~Mission() {}
 
Index: code/branches/core6/src/orxonox/gametypes/TeamBaseMatch.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/TeamBaseMatch.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/TeamBaseMatch.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateUnloadableFactory(TeamBaseMatch);
 
-    TeamBaseMatch::TeamBaseMatch(BaseObject* creator) : TeamDeathmatch(creator)
+    TeamBaseMatch::TeamBaseMatch(Context* context) : TeamDeathmatch(context)
     {
         RegisterObject(TeamBaseMatch);
Index: code/branches/core6/src/orxonox/gametypes/TeamBaseMatch.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/TeamBaseMatch.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/TeamBaseMatch.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            TeamBaseMatch(BaseObject* creator);
+            TeamBaseMatch(Context* context);
             virtual ~TeamBaseMatch() {}
 
Index: code/branches/core6/src/orxonox/gametypes/TeamDeathmatch.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/TeamDeathmatch.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/TeamDeathmatch.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateUnloadableFactory(TeamDeathmatch);
 
-    TeamDeathmatch::TeamDeathmatch(BaseObject* creator) : TeamGametype(creator)
+    TeamDeathmatch::TeamDeathmatch(Context* context) : TeamGametype(context)
     {
         RegisterObject(TeamDeathmatch);
Index: code/branches/core6/src/orxonox/gametypes/TeamDeathmatch.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/TeamDeathmatch.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/TeamDeathmatch.h	(revision 9629)
@@ -38,5 +38,5 @@
     {
         public:
-            TeamDeathmatch(BaseObject* creator);
+            TeamDeathmatch(Context* context);
             virtual ~TeamDeathmatch() {}
 
Index: code/branches/core6/src/orxonox/gametypes/TeamGametype.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/TeamGametype.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/TeamGametype.cc	(revision 9629)
@@ -42,5 +42,5 @@
     CreateUnloadableFactory(TeamGametype);
 
-    TeamGametype::TeamGametype(BaseObject* creator) : Gametype(creator)
+    TeamGametype::TeamGametype(Context* context) : Gametype(context)
     {
         RegisterObject(TeamGametype);
Index: code/branches/core6/src/orxonox/gametypes/TeamGametype.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/TeamGametype.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/TeamGametype.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            TeamGametype(BaseObject* creator);
+            TeamGametype(Context* context);
             virtual ~TeamGametype() {}
 
Index: code/branches/core6/src/orxonox/gametypes/UnderAttack.cc
===================================================================
--- code/branches/core6/src/orxonox/gametypes/UnderAttack.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/UnderAttack.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateUnloadableFactory(UnderAttack);
 
-    UnderAttack::UnderAttack(BaseObject* creator) : TeamDeathmatch(creator)
+    UnderAttack::UnderAttack(Context* context) : TeamDeathmatch(context)
     {
         RegisterObject(UnderAttack);
Index: code/branches/core6/src/orxonox/gametypes/UnderAttack.h
===================================================================
--- code/branches/core6/src/orxonox/gametypes/UnderAttack.h	(revision 9628)
+++ code/branches/core6/src/orxonox/gametypes/UnderAttack.h	(revision 9629)
@@ -39,5 +39,5 @@
     {
         public:
-            UnderAttack(BaseObject* creator);
+            UnderAttack(Context* context);
             virtual ~UnderAttack() {}
 
Index: code/branches/core6/src/orxonox/graphics/AnimatedModel.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/AnimatedModel.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/AnimatedModel.cc	(revision 9629)
@@ -41,5 +41,5 @@
     CreateFactory(AnimatedModel);
 
-    AnimatedModel::AnimatedModel(BaseObject* creator) : Model(creator)
+    AnimatedModel::AnimatedModel(Context* context) : Model(context)
     {
         RegisterObject(AnimatedModel);
Index: code/branches/core6/src/orxonox/graphics/AnimatedModel.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/AnimatedModel.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/AnimatedModel.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            AnimatedModel(BaseObject* creator);
+            AnimatedModel(Context* context);
             virtual ~AnimatedModel();
 
Index: code/branches/core6/src/orxonox/graphics/Backlight.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/Backlight.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Backlight.cc	(revision 9629)
@@ -47,5 +47,5 @@
     CreateFactory(Backlight);
 
-    Backlight::Backlight(BaseObject* creator) : FadingBillboard(creator)
+    Backlight::Backlight(Context* context) : FadingBillboard(context)
     {
         RegisterObject(Backlight);
Index: code/branches/core6/src/orxonox/graphics/Backlight.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/Backlight.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Backlight.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            Backlight(BaseObject* creator);
+            Backlight(Context* context);
             virtual ~Backlight();
 
Index: code/branches/core6/src/orxonox/graphics/Billboard.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/Billboard.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Billboard.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateFactory(Billboard);
 
-    Billboard::Billboard(BaseObject* creator) : StaticEntity(creator)
+    Billboard::Billboard(Context* context) : StaticEntity(context)
     {
         RegisterObject(Billboard);
Index: code/branches/core6/src/orxonox/graphics/Billboard.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/Billboard.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Billboard.h	(revision 9629)
@@ -44,5 +44,5 @@
     {
         public:
-            Billboard(BaseObject* creator);
+            Billboard(Context* context);
             virtual ~Billboard();
 
Index: code/branches/core6/src/orxonox/graphics/BlinkingBillboard.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/BlinkingBillboard.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/BlinkingBillboard.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateFactory(BlinkingBillboard);
 
-    BlinkingBillboard::BlinkingBillboard(BaseObject* creator) : Billboard(creator)
+    BlinkingBillboard::BlinkingBillboard(Context* context) : Billboard(context)
     {
         RegisterObject(BlinkingBillboard);
Index: code/branches/core6/src/orxonox/graphics/BlinkingBillboard.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/BlinkingBillboard.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/BlinkingBillboard.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            BlinkingBillboard(BaseObject* creator);
+            BlinkingBillboard(Context* context);
             virtual ~BlinkingBillboard();
 
Index: code/branches/core6/src/orxonox/graphics/Camera.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/Camera.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Camera.cc	(revision 9629)
@@ -48,5 +48,5 @@
     CreateFactory(Camera);
 
-    Camera::Camera(BaseObject* creator) : StaticEntity(creator)
+    Camera::Camera(Context* context) : StaticEntity(context)
     {
         RegisterObject(Camera);
Index: code/branches/core6/src/orxonox/graphics/Camera.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/Camera.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Camera.h	(revision 9629)
@@ -46,5 +46,5 @@
 
         public:
-            Camera(BaseObject* creator);
+            Camera(Context* context);
             virtual ~Camera();
 
Index: code/branches/core6/src/orxonox/graphics/FadingBillboard.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/FadingBillboard.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/FadingBillboard.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(FadingBillboard);
 
-    FadingBillboard::FadingBillboard(BaseObject* creator) : Billboard(creator)
+    FadingBillboard::FadingBillboard(Context* context) : Billboard(context)
     {
         RegisterObject(FadingBillboard);
Index: code/branches/core6/src/orxonox/graphics/FadingBillboard.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/FadingBillboard.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/FadingBillboard.h	(revision 9629)
@@ -42,5 +42,5 @@
     {
         public:
-            FadingBillboard(BaseObject* creator);
+            FadingBillboard(Context* context);
             virtual ~FadingBillboard();
 
Index: code/branches/core6/src/orxonox/graphics/GlobalShader.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/GlobalShader.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/GlobalShader.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateFactory(GlobalShader);
 
-    GlobalShader::GlobalShader(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    GlobalShader::GlobalShader(Context* context) : BaseObject(context), Synchronisable(context)
     {
         RegisterObject(GlobalShader);
Index: code/branches/core6/src/orxonox/graphics/GlobalShader.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/GlobalShader.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/GlobalShader.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            GlobalShader(BaseObject* creator);
+            GlobalShader(Context* context);
             virtual ~GlobalShader();
 
Index: code/branches/core6/src/orxonox/graphics/Light.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/Light.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Light.cc	(revision 9629)
@@ -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/branches/core6/src/orxonox/graphics/Light.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/Light.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Light.h	(revision 9629)
@@ -53,5 +53,5 @@
 
         public:
-            Light(BaseObject* creator);
+            Light(Context* context);
             virtual ~Light();
 
Index: code/branches/core6/src/orxonox/graphics/MeshLodInformation.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/MeshLodInformation.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/MeshLodInformation.cc	(revision 9629)
@@ -40,6 +40,6 @@
     CreateFactory(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/branches/core6/src/orxonox/graphics/MeshLodInformation.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/MeshLodInformation.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/MeshLodInformation.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            MeshLodInformation(BaseObject* creator);
+            MeshLodInformation(Context* context);
             virtual ~MeshLodInformation();
 
Index: code/branches/core6/src/orxonox/graphics/Model.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/Model.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Model.cc	(revision 9629)
@@ -43,6 +43,6 @@
     CreateFactory(Model);
 
-    Model::Model(BaseObject* creator) :
-        StaticEntity(creator), bCastShadows_(true), lodLevel_(5), bLodEnabled_(true), numLodLevels_(10), lodReductionRate_(.15f)
+    Model::Model(Context* context) :
+        StaticEntity(context), bCastShadows_(true), lodLevel_(5), bLodEnabled_(true), numLodLevels_(10), lodReductionRate_(.15f)
     {
         RegisterObject(Model);
Index: code/branches/core6/src/orxonox/graphics/Model.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/Model.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/Model.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            Model(BaseObject* creator);
+            Model(Context* context);
             virtual ~Model();
 
Index: code/branches/core6/src/orxonox/graphics/ParticleEmitter.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/ParticleEmitter.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/ParticleEmitter.cc	(revision 9629)
@@ -45,5 +45,5 @@
     CreateFactory(ParticleEmitter);
 
-    ParticleEmitter::ParticleEmitter(BaseObject* creator) : StaticEntity(creator)
+    ParticleEmitter::ParticleEmitter(Context* context) : StaticEntity(context)
     {
         RegisterObject(ParticleEmitter);
Index: code/branches/core6/src/orxonox/graphics/ParticleEmitter.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/ParticleEmitter.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/ParticleEmitter.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            ParticleEmitter(BaseObject* creator);
+            ParticleEmitter(Context* context);
             virtual ~ParticleEmitter();
 
Index: code/branches/core6/src/orxonox/graphics/ParticleSpawner.cc
===================================================================
--- code/branches/core6/src/orxonox/graphics/ParticleSpawner.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/ParticleSpawner.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(ParticleSpawner);
 
-    ParticleSpawner::ParticleSpawner(BaseObject* creator) : ParticleEmitter(creator)
+    ParticleSpawner::ParticleSpawner(Context* context) : ParticleEmitter(context)
     {
         RegisterObject(ParticleSpawner);
Index: code/branches/core6/src/orxonox/graphics/ParticleSpawner.h
===================================================================
--- code/branches/core6/src/orxonox/graphics/ParticleSpawner.h	(revision 9628)
+++ code/branches/core6/src/orxonox/graphics/ParticleSpawner.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            ParticleSpawner(BaseObject* creator);
+            ParticleSpawner(Context* context);
             virtual ~ParticleSpawner();
 
Index: code/branches/core6/src/orxonox/infos/Bot.cc
===================================================================
--- code/branches/core6/src/orxonox/infos/Bot.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/Bot.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateFactory(Bot);
 
-    Bot::Bot(BaseObject* creator) : PlayerInfo(creator)
+    Bot::Bot(Context* context) : PlayerInfo(context)
     {
         RegisterObject(Bot);
Index: code/branches/core6/src/orxonox/infos/Bot.h
===================================================================
--- code/branches/core6/src/orxonox/infos/Bot.h	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/Bot.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            Bot(BaseObject* creator);
+            Bot(Context* context);
             virtual ~Bot();
 
Index: code/branches/core6/src/orxonox/infos/GametypeInfo.cc
===================================================================
--- code/branches/core6/src/orxonox/infos/GametypeInfo.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/GametypeInfo.cc	(revision 9629)
@@ -65,5 +65,5 @@
         Registers and initializes the object.
     */
-    GametypeInfo::GametypeInfo(BaseObject* creator) : Info(creator)
+    GametypeInfo::GametypeInfo(Context* context) : Info(context)
     {
         RegisterObject(GametypeInfo);
Index: code/branches/core6/src/orxonox/infos/GametypeInfo.h
===================================================================
--- code/branches/core6/src/orxonox/infos/GametypeInfo.h	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/GametypeInfo.h	(revision 9629)
@@ -58,5 +58,5 @@
 
         public:
-            GametypeInfo(BaseObject* creator);
+            GametypeInfo(Context* context);
             virtual ~GametypeInfo();
 
Index: code/branches/core6/src/orxonox/infos/HumanPlayer.cc
===================================================================
--- code/branches/core6/src/orxonox/infos/HumanPlayer.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/HumanPlayer.cc	(revision 9629)
@@ -43,5 +43,5 @@
     CreateUnloadableFactory(HumanPlayer);
 
-    HumanPlayer::HumanPlayer(BaseObject* creator) : PlayerInfo(creator)
+    HumanPlayer::HumanPlayer(Context* context) : PlayerInfo(context)
     {
         RegisterObject(HumanPlayer);
@@ -183,5 +183,5 @@
         if (this->isLocalPlayer() && !this->humanHudTemplate_.empty() && GameMode::showsGraphics())
         {
-            this->humanHud_ = new OverlayGroup(this);
+            this->humanHud_ = new OverlayGroup(this->getContext());
             this->humanHud_->addTemplate(this->humanHudTemplate_);
             this->humanHud_->setOwner(this);
@@ -199,5 +199,5 @@
         if (this->isLocalPlayer() && !this->gametypeHudTemplate_.empty())
         {
-            this->gametypeHud_ = new OverlayGroup(this);
+            this->gametypeHud_ = new OverlayGroup(this->getContext());
             this->gametypeHud_->addTemplate(this->gametypeHudTemplate_);
             this->gametypeHud_->setOwner(this);
Index: code/branches/core6/src/orxonox/infos/HumanPlayer.h
===================================================================
--- code/branches/core6/src/orxonox/infos/HumanPlayer.h	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/HumanPlayer.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            HumanPlayer(BaseObject* creator);
+            HumanPlayer(Context* context);
             virtual ~HumanPlayer();
 
Index: code/branches/core6/src/orxonox/infos/Info.cc
===================================================================
--- code/branches/core6/src/orxonox/infos/Info.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/Info.cc	(revision 9629)
@@ -32,5 +32,5 @@
 namespace orxonox
 {
-    Info::Info(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    Info::Info(Context* context) : BaseObject(context), Synchronisable(context)
     {
         RegisterObject(Info);
Index: code/branches/core6/src/orxonox/infos/Info.h
===================================================================
--- code/branches/core6/src/orxonox/infos/Info.h	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/Info.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            Info(BaseObject* creator);
+            Info(Context* context);
             virtual ~Info() {}
     };
Index: code/branches/core6/src/orxonox/infos/PlayerInfo.cc
===================================================================
--- code/branches/core6/src/orxonox/infos/PlayerInfo.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/PlayerInfo.cc	(revision 9629)
@@ -40,5 +40,5 @@
 namespace orxonox
 {
-    PlayerInfo::PlayerInfo(BaseObject* creator) : Info(creator)
+    PlayerInfo::PlayerInfo(Context* context) : Info(context)
     {
         RegisterObject(PlayerInfo);
@@ -136,5 +136,5 @@
             this->controller_ = 0;
         }
-        this->controller_ = this->defaultController_.fabricate(this);
+        this->controller_ = this->defaultController_.fabricate(this->getContext());
         assert(this->controller_);
         this->controller_->setPlayer(this);
Index: code/branches/core6/src/orxonox/infos/PlayerInfo.h
===================================================================
--- code/branches/core6/src/orxonox/infos/PlayerInfo.h	(revision 9628)
+++ code/branches/core6/src/orxonox/infos/PlayerInfo.h	(revision 9629)
@@ -41,5 +41,5 @@
     { // tolua_export
         public:
-            PlayerInfo(BaseObject* creator);
+            PlayerInfo(Context* context);
             virtual ~PlayerInfo();
 
Index: code/branches/core6/src/orxonox/items/Engine.cc
===================================================================
--- code/branches/core6/src/orxonox/items/Engine.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/items/Engine.cc	(revision 9629)
@@ -46,5 +46,5 @@
         Constructor. Registers and initializes the object.
     */
-    Engine::Engine(BaseObject* creator) : Item(creator)
+    Engine::Engine(Context* context) : Item(context)
     {
         RegisterObject(Engine);
Index: code/branches/core6/src/orxonox/items/Engine.h
===================================================================
--- code/branches/core6/src/orxonox/items/Engine.h	(revision 9628)
+++ code/branches/core6/src/orxonox/items/Engine.h	(revision 9629)
@@ -56,5 +56,5 @@
     {
         public:
-            Engine(BaseObject* creator);
+            Engine(Context* context);
             virtual ~Engine();
 
Index: code/branches/core6/src/orxonox/items/Item.cc
===================================================================
--- code/branches/core6/src/orxonox/items/Item.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/items/Item.cc	(revision 9629)
@@ -32,5 +32,5 @@
 namespace orxonox
 {
-    Item::Item(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    Item::Item(Context* context) : BaseObject(context), Synchronisable(context)
     {
         RegisterObject(Item);
Index: code/branches/core6/src/orxonox/items/Item.h
===================================================================
--- code/branches/core6/src/orxonox/items/Item.h	(revision 9628)
+++ code/branches/core6/src/orxonox/items/Item.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            Item(BaseObject* creator);
+            Item(Context* context);
             virtual ~Item() {}
     };
Index: code/branches/core6/src/orxonox/items/MultiStateEngine.cc
===================================================================
--- code/branches/core6/src/orxonox/items/MultiStateEngine.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/items/MultiStateEngine.cc	(revision 9629)
@@ -51,5 +51,5 @@
     CreateFactory(MultiStateEngine);
 
-    MultiStateEngine::MultiStateEngine(BaseObject* creator) : Engine(creator)
+    MultiStateEngine::MultiStateEngine(Context* context) : Engine(context)
     {
         RegisterObject(MultiStateEngine);
@@ -57,6 +57,6 @@
         if (GameMode::isMaster())
         {
-            this->defEngineSndNormal_ = new WorldSound(this);
-            this->defEngineSndBoost_  = new WorldSound(this);
+            this->defEngineSndNormal_ = new WorldSound(this->getContext());
+            this->defEngineSndBoost_  = new WorldSound(this->getContext());
             this->defEngineSndNormal_->setLooping(true);
             this->defEngineSndBoost_->setLooping(true);
Index: code/branches/core6/src/orxonox/items/MultiStateEngine.h
===================================================================
--- code/branches/core6/src/orxonox/items/MultiStateEngine.h	(revision 9628)
+++ code/branches/core6/src/orxonox/items/MultiStateEngine.h	(revision 9629)
@@ -49,5 +49,5 @@
             };
 
-            MultiStateEngine(BaseObject* creator);
+            MultiStateEngine(Context* context);
             virtual ~MultiStateEngine();
 
Index: code/branches/core6/src/orxonox/overlays/GUISheet.cc
===================================================================
--- code/branches/core6/src/orxonox/overlays/GUISheet.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/overlays/GUISheet.cc	(revision 9629)
@@ -38,6 +38,6 @@
     CreateFactory(GUISheet);
 
-    GUISheet::GUISheet(BaseObject* creator)
-        : BaseObject(creator)
+    GUISheet::GUISheet(Context* context)
+        : BaseObject(context)
         , bShowOnLoad_(false)
         , bHidePrevious_(false)
Index: code/branches/core6/src/orxonox/overlays/GUISheet.h
===================================================================
--- code/branches/core6/src/orxonox/overlays/GUISheet.h	(revision 9628)
+++ code/branches/core6/src/orxonox/overlays/GUISheet.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
     public:
-        GUISheet(BaseObject* creator);
+        GUISheet(Context* context);
         ~GUISheet();
 
Index: code/branches/core6/src/orxonox/overlays/OrxonoxOverlay.cc
===================================================================
--- code/branches/core6/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 9629)
@@ -63,6 +63,6 @@
     SetConsoleCommand("OrxonoxOverlay", "rotateOverlay",    &OrxonoxOverlay::rotateOverlay);
 
-    OrxonoxOverlay::OrxonoxOverlay(BaseObject* creator)
-        : BaseObject(creator)
+    OrxonoxOverlay::OrxonoxOverlay(Context* context)
+        : BaseObject(context)
     {
         RegisterObject(OrxonoxOverlay);
Index: code/branches/core6/src/orxonox/overlays/OrxonoxOverlay.h
===================================================================
--- code/branches/core6/src/orxonox/overlays/OrxonoxOverlay.h	(revision 9628)
+++ code/branches/core6/src/orxonox/overlays/OrxonoxOverlay.h	(revision 9629)
@@ -87,5 +87,5 @@
 
     public:
-        OrxonoxOverlay(BaseObject* creator);
+        OrxonoxOverlay(Context* context);
         virtual ~OrxonoxOverlay();
 
Index: code/branches/core6/src/orxonox/overlays/OverlayGroup.cc
===================================================================
--- code/branches/core6/src/orxonox/overlays/OverlayGroup.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/overlays/OverlayGroup.cc	(revision 9629)
@@ -48,6 +48,6 @@
     SetConsoleCommand("OverlayGroup", "scrollGroup",      &OverlayGroup::scrollGroup);
 
-    OverlayGroup::OverlayGroup(BaseObject* creator)
-        : BaseObject(creator)
+    OverlayGroup::OverlayGroup(Context* context)
+        : BaseObject(context)
     {
         RegisterObject(OverlayGroup);
Index: code/branches/core6/src/orxonox/overlays/OverlayGroup.h
===================================================================
--- code/branches/core6/src/orxonox/overlays/OverlayGroup.h	(revision 9628)
+++ code/branches/core6/src/orxonox/overlays/OverlayGroup.h	(revision 9629)
@@ -54,5 +54,5 @@
     {
     public:
-        OverlayGroup(BaseObject* creator);
+        OverlayGroup(Context* context);
         //! Empty destructor.
         ~OverlayGroup();
Index: code/branches/core6/src/orxonox/sound/WorldAmbientSound.cc
===================================================================
--- code/branches/core6/src/orxonox/sound/WorldAmbientSound.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/sound/WorldAmbientSound.cc	(revision 9629)
@@ -38,5 +38,5 @@
     CreateFactory(WorldAmbientSound);
 
-    WorldAmbientSound::WorldAmbientSound(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    WorldAmbientSound::WorldAmbientSound(Context* context) : BaseObject(context), Synchronisable(context)
     {
         RegisterObject(WorldAmbientSound);
Index: code/branches/core6/src/orxonox/sound/WorldAmbientSound.h
===================================================================
--- code/branches/core6/src/orxonox/sound/WorldAmbientSound.h	(revision 9628)
+++ code/branches/core6/src/orxonox/sound/WorldAmbientSound.h	(revision 9629)
@@ -44,5 +44,5 @@
     {
         public:
-            WorldAmbientSound(BaseObject* creator);
+            WorldAmbientSound(Context* context);
             virtual ~WorldAmbientSound();
 
Index: code/branches/core6/src/orxonox/sound/WorldSound.cc
===================================================================
--- code/branches/core6/src/orxonox/sound/WorldSound.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/sound/WorldSound.cc	(revision 9629)
@@ -43,6 +43,6 @@
     CreateFactory(WorldSound);
 
-    WorldSound::WorldSound(BaseObject* creator)
-        : StaticEntity(creator)
+    WorldSound::WorldSound(Context* context)
+        : StaticEntity(context)
     {
         RegisterObject(WorldSound);
Index: code/branches/core6/src/orxonox/sound/WorldSound.h
===================================================================
--- code/branches/core6/src/orxonox/sound/WorldSound.h	(revision 9628)
+++ code/branches/core6/src/orxonox/sound/WorldSound.h	(revision 9629)
@@ -45,5 +45,5 @@
     {
     public:
-        WorldSound(BaseObject* creator);
+        WorldSound(Context* context);
 
         void XMLPort(Element& xmlelement, XMLPort::Mode mode);
Index: code/branches/core6/src/orxonox/weaponsystem/DefaultWeaponmodeLink.cc
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/DefaultWeaponmodeLink.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/DefaultWeaponmodeLink.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateFactory(DefaultWeaponmodeLink);
 
-    DefaultWeaponmodeLink::DefaultWeaponmodeLink(BaseObject* creator) : BaseObject(creator)
+    DefaultWeaponmodeLink::DefaultWeaponmodeLink(Context* context) : BaseObject(context)
     {
         RegisterObject(DefaultWeaponmodeLink);
Index: code/branches/core6/src/orxonox/weaponsystem/DefaultWeaponmodeLink.h
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/DefaultWeaponmodeLink.h	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/DefaultWeaponmodeLink.h	(revision 9629)
@@ -39,5 +39,5 @@
     {
         public:
-            DefaultWeaponmodeLink(BaseObject* creator);
+            DefaultWeaponmodeLink(Context* context);
             virtual ~DefaultWeaponmodeLink();
 
Index: code/branches/core6/src/orxonox/weaponsystem/Munition.cc
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/Munition.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/Munition.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateFactory(Munition);
 
-    Munition::Munition(BaseObject* creator) : BaseObject(creator)
+    Munition::Munition(Context* context) : BaseObject(context)
     {
         RegisterObject(Munition);
Index: code/branches/core6/src/orxonox/weaponsystem/Munition.h
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/Munition.h	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/Munition.h	(revision 9629)
@@ -56,5 +56,5 @@
 
         public:
-            Munition(BaseObject* creator);
+            Munition(Context* context);
             virtual ~Munition();
 
Index: code/branches/core6/src/orxonox/weaponsystem/Weapon.cc
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/Weapon.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/Weapon.cc	(revision 9629)
@@ -41,5 +41,5 @@
     CreateFactory(Weapon);
 
-    Weapon::Weapon(BaseObject* creator) : StaticEntity(creator)
+    Weapon::Weapon(Context* context) : StaticEntity(context)
     {
         RegisterObject(Weapon);
Index: code/branches/core6/src/orxonox/weaponsystem/Weapon.h
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/Weapon.h	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/Weapon.h	(revision 9629)
@@ -42,5 +42,5 @@
     {
         public:
-            Weapon(BaseObject* creator);
+            Weapon(Context* context);
             virtual ~Weapon();
 
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponMode.cc
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponMode.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponMode.cc	(revision 9629)
@@ -45,5 +45,5 @@
 namespace orxonox
 {
-    WeaponMode::WeaponMode(BaseObject* creator) : BaseObject(creator)
+    WeaponMode::WeaponMode(Context* context) : BaseObject(context)
     {
         RegisterObject(WeaponMode);
@@ -75,5 +75,5 @@
         if( GameMode::isMaster() )
         {
-            this->defSndWpnFire_ = new WorldSound(this);
+            this->defSndWpnFire_ = new WorldSound(this->getContext());
             this->defSndWpnFire_->setLooping(false);
             this->bSoundAttached_ = false;
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponMode.h
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponMode.h	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponMode.h	(revision 9629)
@@ -44,5 +44,5 @@
     {
         public:
-            WeaponMode(BaseObject* creator);
+            WeaponMode(Context* context);
             virtual ~WeaponMode();
 
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponPack.cc
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponPack.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponPack.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateFactory(WeaponPack);
 
-    WeaponPack::WeaponPack(BaseObject* creator) : BaseObject(creator)
+    WeaponPack::WeaponPack(Context* context) : BaseObject(context)
     {
         RegisterObject(WeaponPack);
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponPack.h
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponPack.h	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponPack.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            WeaponPack(BaseObject* creator);
+            WeaponPack(Context* context);
             virtual ~WeaponPack();
 
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponSet.cc
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponSet.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponSet.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(WeaponSet);
 
-    WeaponSet::WeaponSet(BaseObject* creator) : BaseObject(creator)
+    WeaponSet::WeaponSet(Context* context) : BaseObject(context)
     {
         RegisterObject(WeaponSet);
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponSet.h
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponSet.h	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponSet.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            WeaponSet(BaseObject* creator);
+            WeaponSet(Context* context);
             virtual ~WeaponSet();
 
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponSlot.cc
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponSlot.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponSlot.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(WeaponSlot);
 
-    WeaponSlot::WeaponSlot(BaseObject* creator) : StaticEntity(creator)
+    WeaponSlot::WeaponSlot(Context* context) : StaticEntity(context)
     {
         RegisterObject(WeaponSlot);
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponSlot.h
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponSlot.h	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponSlot.h	(revision 9629)
@@ -57,5 +57,5 @@
     {
         public:
-            WeaponSlot(BaseObject* creator);
+            WeaponSlot(Context* context);
             virtual ~WeaponSlot();
 
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponSystem.cc
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponSystem.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponSystem.cc	(revision 9629)
@@ -48,5 +48,5 @@
     CreateFactory(WeaponSystem);
 
-    WeaponSystem::WeaponSystem(BaseObject* creator) : BaseObject(creator)
+    WeaponSystem::WeaponSystem(Context* context) : BaseObject(context)
     {
         RegisterObject(WeaponSystem);
@@ -308,5 +308,5 @@
         else if (identifier->getIdentifier()->isA(Class(Munition)))
         {
-            Munition* munition = identifier->fabricate(this);
+            Munition* munition = identifier->fabricate(this->getContext());
             this->munitions_[identifier->getIdentifier()] = munition;
             return munition;
Index: code/branches/core6/src/orxonox/weaponsystem/WeaponSystem.h
===================================================================
--- code/branches/core6/src/orxonox/weaponsystem/WeaponSystem.h	(revision 9628)
+++ code/branches/core6/src/orxonox/weaponsystem/WeaponSystem.h	(revision 9629)
@@ -43,5 +43,5 @@
     {
         public:
-            WeaponSystem(BaseObject* creator);
+            WeaponSystem(Context* context);
             virtual ~WeaponSystem();
 
Index: code/branches/core6/src/orxonox/worldentities/BigExplosion.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/BigExplosion.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/BigExplosion.cc	(revision 9629)
@@ -43,5 +43,5 @@
     CreateFactory(BigExplosion);
 
-    BigExplosion::BigExplosion(BaseObject* creator) : StaticEntity(creator)
+    BigExplosion::BigExplosion(Context* context) : StaticEntity(context)
     {
         RegisterObject(BigExplosion);
@@ -80,8 +80,8 @@
     void BigExplosion::init()
     {
-        this->debrisEntity1_ = new MovableEntity(this);
-        this->debrisEntity2_ = new MovableEntity(this);
-        this->debrisEntity3_ = new MovableEntity(this);
-        this->debrisEntity4_ = new MovableEntity(this);
+        this->debrisEntity1_ = new MovableEntity(this->getContext());
+        this->debrisEntity2_ = new MovableEntity(this->getContext());
+        this->debrisEntity3_ = new MovableEntity(this->getContext());
+        this->debrisEntity4_ = new MovableEntity(this->getContext());
 
         this->debrisEntity1_->setSyncMode(0);
@@ -90,8 +90,8 @@
         this->debrisEntity4_->setSyncMode(0);
 
-        this->debris1_ = new Model(this);
-        this->debris2_ = new Model(this);
-        this->debris3_ = new Model(this);
-        this->debris4_ = new Model(this);
+        this->debris1_ = new Model(this->getContext());
+        this->debris2_ = new Model(this->getContext());
+        this->debris3_ = new Model(this->getContext());
+        this->debris4_ = new Model(this->getContext());
 
         this->debris1_->setSyncMode(0);
@@ -100,5 +100,5 @@
         this->debris4_->setSyncMode(0);
 
-        this->explosion_ = new StaticEntity(this);
+        this->explosion_ = new StaticEntity(this->getContext());
         this->explosion_->setSyncMode(0);
 
@@ -148,5 +148,5 @@
         this->debrisEntity4_->attach(debris4_);
 
-        ParticleSpawner* effect = new ParticleSpawner(this->getCreator());
+        ParticleSpawner* effect = new ParticleSpawner(this->getContext());
         effect->setDestroyAfterLife(true);
         effect->setSource("Orxonox/explosion2b");
@@ -154,5 +154,5 @@
         effect->setSyncMode(0);
 
-        ParticleSpawner* effect2 = new ParticleSpawner(this->getCreator());
+        ParticleSpawner* effect2 = new ParticleSpawner(this->getContext());
         effect2->setDestroyAfterLife(true);
         effect2->setSource("Orxonox/smoke6");
@@ -172,9 +172,9 @@
         for(int i=0;i<10;i++)
         {
-            Model* part1 = new Model(this);
-            Model* part2 = new Model(this);
-
-            MovableEntity* partEntity1 = new MovableEntity(this);
-            MovableEntity* partEntity2 = new MovableEntity(this);
+            Model* part1 = new Model(this->getContext());
+            Model* part2 = new Model(this->getContext());
+
+            MovableEntity* partEntity1 = new MovableEntity(this->getContext());
+            MovableEntity* partEntity2 = new MovableEntity(this->getContext());
 
             part1->setSyncMode(0);
Index: code/branches/core6/src/orxonox/worldentities/BigExplosion.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/BigExplosion.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/BigExplosion.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            BigExplosion(BaseObject* creator);
+            BigExplosion(Context* context);
             virtual ~BigExplosion();
 
Index: code/branches/core6/src/orxonox/worldentities/CameraPosition.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/CameraPosition.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/CameraPosition.cc	(revision 9629)
@@ -37,5 +37,5 @@
     CreateFactory(CameraPosition);
 
-    CameraPosition::CameraPosition(BaseObject* creator) : StaticEntity(creator)
+    CameraPosition::CameraPosition(Context* context) : StaticEntity(context)
     {
         RegisterObject(CameraPosition);
Index: code/branches/core6/src/orxonox/worldentities/CameraPosition.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/CameraPosition.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/CameraPosition.h	(revision 9629)
@@ -38,5 +38,5 @@
     {
         public:
-            CameraPosition(BaseObject* creator);
+            CameraPosition(Context* context);
             virtual ~CameraPosition();
 
Index: code/branches/core6/src/orxonox/worldentities/ControllableEntity.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/ControllableEntity.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/ControllableEntity.cc	(revision 9629)
@@ -52,5 +52,5 @@
     registerMemberNetworkFunction( ControllableEntity, setTargetInternal );
 
-    ControllableEntity::ControllableEntity(BaseObject* creator) : MobileEntity(creator)
+    ControllableEntity::ControllableEntity(Context* context) : MobileEntity(context)
     {
         RegisterObject(ControllableEntity);
@@ -397,5 +397,5 @@
         if (!this->camera_ && GameMode::showsGraphics())
         {
-            this->camera_ = new Camera(this);
+            this->camera_ = new Camera(this->getContext());
             this->camera_->requestFocus();
             if (!this->cameraPositionTemplate_.empty())
@@ -423,5 +423,5 @@
             if (!this->hudtemplate_.empty())
             {
-                this->hud_ = new OverlayGroup(this);
+                this->hud_ = new OverlayGroup(this->getContext());
                 this->hud_->addTemplate(this->hudtemplate_);
                 this->hud_->setOwner(this);
Index: code/branches/core6/src/orxonox/worldentities/ControllableEntity.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/ControllableEntity.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/ControllableEntity.h	(revision 9629)
@@ -44,5 +44,5 @@
 
         public:
-            ControllableEntity(BaseObject* creator);
+            ControllableEntity(Context* context);
             virtual ~ControllableEntity();
 
Index: code/branches/core6/src/orxonox/worldentities/Drone.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/Drone.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/Drone.cc	(revision 9629)
@@ -39,5 +39,5 @@
         Constructor. Registers the object and initializes some default values.
     */
-    Drone::Drone(BaseObject* creator) : Pawn(creator)
+    Drone::Drone(Context* context) : Pawn(context)
     {
         RegisterObject(Drone);
@@ -50,5 +50,5 @@
         this->setCollisionType(WorldEntity::Dynamic);
 
-        myController_ = new DroneController(static_cast<BaseObject*>(this)); //!< Creates a new controller and passes our this pointer to it as creator.
+        myController_ = new DroneController(this->getContext()); //!< Creates a new controller and passes our this pointer to it as creator.
         myController_->setDrone(this);
 
Index: code/branches/core6/src/orxonox/worldentities/Drone.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/Drone.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/Drone.h	(revision 9629)
@@ -47,5 +47,5 @@
     {
         public:
-            Drone(BaseObject* creator);
+            Drone(Context* context);
             virtual ~Drone();
 
Index: code/branches/core6/src/orxonox/worldentities/EffectContainer.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/EffectContainer.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/EffectContainer.cc	(revision 9629)
@@ -42,6 +42,6 @@
     CreateFactory(EffectContainer);
 
-    EffectContainer::EffectContainer(BaseObject* creator)
-        : BaseObject(creator)
+    EffectContainer::EffectContainer(Context* context)
+        : BaseObject(context)
         , lua_(NULL)
     {
Index: code/branches/core6/src/orxonox/worldentities/EffectContainer.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/EffectContainer.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/EffectContainer.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            EffectContainer(BaseObject* creator);
+            EffectContainer(Context* context);
             virtual ~EffectContainer();
 
Index: code/branches/core6/src/orxonox/worldentities/ExplosionChunk.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/ExplosionChunk.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/ExplosionChunk.cc	(revision 9629)
@@ -40,5 +40,5 @@
     CreateFactory(ExplosionChunk);
 
-    ExplosionChunk::ExplosionChunk(BaseObject* creator) : MovableEntity(creator)
+    ExplosionChunk::ExplosionChunk(Context* context) : MovableEntity(context)
     {
         RegisterObject(ExplosionChunk);
Index: code/branches/core6/src/orxonox/worldentities/ExplosionChunk.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/ExplosionChunk.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/ExplosionChunk.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            ExplosionChunk(BaseObject* creator);
+            ExplosionChunk(Context* context);
             virtual ~ExplosionChunk();
 
Index: code/branches/core6/src/orxonox/worldentities/MobileEntity.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/MobileEntity.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/MobileEntity.cc	(revision 9629)
@@ -39,5 +39,5 @@
 namespace orxonox
 {
-    MobileEntity::MobileEntity(BaseObject* creator) : WorldEntity(creator)
+    MobileEntity::MobileEntity(Context* context) : WorldEntity(context)
     {
         RegisterObject(MobileEntity);
Index: code/branches/core6/src/orxonox/worldentities/MobileEntity.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/MobileEntity.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/MobileEntity.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            MobileEntity(BaseObject* creator);
+            MobileEntity(Context* context);
             virtual ~MobileEntity();
 
Index: code/branches/core6/src/orxonox/worldentities/MovableEntity.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/MovableEntity.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/MovableEntity.cc	(revision 9629)
@@ -43,5 +43,5 @@
     CreateFactory(MovableEntity);
 
-    MovableEntity::MovableEntity(BaseObject* creator) : MobileEntity(creator)
+    MovableEntity::MovableEntity(Context* context) : MobileEntity(context)
     {
         RegisterObject(MovableEntity);
Index: code/branches/core6/src/orxonox/worldentities/MovableEntity.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/MovableEntity.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/MovableEntity.h	(revision 9629)
@@ -43,5 +43,5 @@
     {
         public:
-            MovableEntity(BaseObject* creator);
+            MovableEntity(Context* context);
             virtual ~MovableEntity();
 
Index: code/branches/core6/src/orxonox/worldentities/SpawnPoint.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/SpawnPoint.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/SpawnPoint.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(SpawnPoint);
 
-    SpawnPoint::SpawnPoint(BaseObject* creator) : StaticEntity(creator)
+    SpawnPoint::SpawnPoint(Context* context) : StaticEntity(context)
     {
         RegisterObject(SpawnPoint);
@@ -81,5 +81,5 @@
     Pawn* SpawnPoint::spawn()
     {
-        Pawn* entity = this->spawnclass_.fabricate(this);
+        Pawn* entity = this->spawnclass_.fabricate(this->getContext());
         if (entity)
         {
Index: code/branches/core6/src/orxonox/worldentities/SpawnPoint.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/SpawnPoint.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/SpawnPoint.h	(revision 9629)
@@ -41,5 +41,5 @@
     {
         public:
-            SpawnPoint(BaseObject* creator);
+            SpawnPoint(Context* context);
             virtual ~SpawnPoint() {}
 
Index: code/branches/core6/src/orxonox/worldentities/StaticEntity.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/StaticEntity.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/StaticEntity.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(StaticEntity);
 
-    StaticEntity::StaticEntity(BaseObject* creator) : WorldEntity(creator)
+    StaticEntity::StaticEntity(Context* context) : WorldEntity(context)
     {
         RegisterObject(StaticEntity);
Index: code/branches/core6/src/orxonox/worldentities/StaticEntity.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/StaticEntity.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/StaticEntity.h	(revision 9629)
@@ -39,5 +39,5 @@
     {
         public:
-            StaticEntity(BaseObject* creator);
+            StaticEntity(Context* context);
             virtual ~StaticEntity();
 
Index: code/branches/core6/src/orxonox/worldentities/TeamSpawnPoint.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/TeamSpawnPoint.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/TeamSpawnPoint.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(TeamSpawnPoint);
 
-    TeamSpawnPoint::TeamSpawnPoint(BaseObject* creator) : SpawnPoint(creator)
+    TeamSpawnPoint::TeamSpawnPoint(Context* context) : SpawnPoint(context)
     {
         RegisterObject(TeamSpawnPoint);
Index: code/branches/core6/src/orxonox/worldentities/TeamSpawnPoint.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/TeamSpawnPoint.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/TeamSpawnPoint.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            TeamSpawnPoint(BaseObject* creator);
+            TeamSpawnPoint(Context* context);
             virtual ~TeamSpawnPoint() {}
 
Index: code/branches/core6/src/orxonox/worldentities/WorldEntity.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/WorldEntity.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/WorldEntity.cc	(revision 9629)
@@ -66,5 +66,5 @@
         All the default values are being set here.
     */
-    WorldEntity::WorldEntity(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    WorldEntity::WorldEntity(Context* context) : BaseObject(context), Synchronisable(context)
     {
         RegisterObject(WorldEntity);
@@ -92,5 +92,5 @@
         this->bPhysicsActiveSynchronised_    = false;
         this->bPhysicsActiveBeforeAttaching_ = false;
-        this->collisionShape_ = new WorldEntityCollisionShape(this);
+        this->collisionShape_ = new WorldEntityCollisionShape(this->getContext());
         this->collisionShape_->setWorldEntityOwner(this);
         this->collisionType_             = None;
Index: code/branches/core6/src/orxonox/worldentities/WorldEntity.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/WorldEntity.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/WorldEntity.h	(revision 9629)
@@ -90,5 +90,5 @@
 
         public:
-            WorldEntity(BaseObject* creator);
+            WorldEntity(Context* context);
             virtual ~WorldEntity();
 
Index: code/branches/core6/src/orxonox/worldentities/pawns/Destroyer.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/Destroyer.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/Destroyer.cc	(revision 9629)
@@ -36,5 +36,5 @@
     CreateFactory(Destroyer);
 
-    Destroyer::Destroyer(BaseObject* creator) : SpaceShip(creator)
+    Destroyer::Destroyer(Context* context) : SpaceShip(context)
     {
         RegisterObject(Destroyer);
Index: code/branches/core6/src/orxonox/worldentities/pawns/Destroyer.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/Destroyer.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/Destroyer.h	(revision 9629)
@@ -39,5 +39,5 @@
     {
         public:
-            Destroyer(BaseObject* creator);
+            Destroyer(Context* context);
             virtual ~Destroyer() {};
 
Index: code/branches/core6/src/orxonox/worldentities/pawns/FpsPlayer.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/FpsPlayer.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/FpsPlayer.cc	(revision 9629)
@@ -55,5 +55,5 @@
     CreateFactory(FpsPlayer);
 
-    FpsPlayer::FpsPlayer(BaseObject* creator) : Pawn(creator)
+    FpsPlayer::FpsPlayer(Context* context) : Pawn(context)
     {
         RegisterObject(FpsPlayer);
Index: code/branches/core6/src/orxonox/worldentities/pawns/FpsPlayer.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/FpsPlayer.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/FpsPlayer.h	(revision 9629)
@@ -43,5 +43,5 @@
     {
         public:
-            FpsPlayer(BaseObject* creator);
+            FpsPlayer(Context* context);
             virtual ~FpsPlayer();
 
Index: code/branches/core6/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/Pawn.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/Pawn.cc	(revision 9629)
@@ -51,7 +51,7 @@
     CreateFactory(Pawn);
 
-    Pawn::Pawn(BaseObject* creator)
-        : ControllableEntity(creator)
-        , RadarViewable(creator, static_cast<WorldEntity*>(this))
+    Pawn::Pawn(Context* context)
+        : ControllableEntity(context)
+        , RadarViewable(this, static_cast<WorldEntity*>(this))
     {
         RegisterObject(Pawn);
@@ -84,5 +84,5 @@
         if (GameMode::isMaster())
         {
-            this->weaponSystem_ = new WeaponSystem(this);
+            this->weaponSystem_ = new WeaponSystem(this->getContext());
             this->weaponSystem_->setPawn(this);
         }
@@ -297,5 +297,5 @@
         if (!this->spawnparticlesource_.empty())
         {
-            ParticleSpawner* effect = new ParticleSpawner(this->getCreator());
+            ParticleSpawner* effect = new ParticleSpawner(this->getContext());
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
@@ -334,5 +334,5 @@
         this->setDestroyWhenPlayerLeft(false);
 
-        BigExplosion* chunk = new BigExplosion(this->getCreator());
+        BigExplosion* chunk = new BigExplosion(this->getContext());
         chunk->setPosition(this->getPosition());
 
@@ -342,5 +342,5 @@
         // play death effect
         {
-            ParticleSpawner* effect = new ParticleSpawner(this->getCreator());
+            ParticleSpawner* effect = new ParticleSpawner(this->getContext());
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
@@ -350,5 +350,5 @@
         }
         {
-            ParticleSpawner* effect = new ParticleSpawner(this->getCreator());
+            ParticleSpawner* effect = new ParticleSpawner(this->getContext());
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
@@ -358,5 +358,5 @@
         }
         {
-            ParticleSpawner* effect = new ParticleSpawner(this->getCreator());
+            ParticleSpawner* effect = new ParticleSpawner(this->getContext());
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
@@ -367,5 +367,5 @@
         for (unsigned int i = 0; i < this->numexplosionchunks_; ++i)
         {
-            ExplosionChunk* chunk = new ExplosionChunk(this->getCreator());
+            ExplosionChunk* chunk = new ExplosionChunk(this->getContext());
             chunk->setPosition(this->getPosition());
         }
Index: code/branches/core6/src/orxonox/worldentities/pawns/Pawn.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/Pawn.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/Pawn.h	(revision 9629)
@@ -45,5 +45,5 @@
 
         public:
-            Pawn(BaseObject* creator);
+            Pawn(Context* context);
             virtual ~Pawn();
 
Index: code/branches/core6/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 9629)
@@ -48,5 +48,5 @@
     CreateFactory(SpaceShip);
 
-    SpaceShip::SpaceShip(BaseObject* creator) : Pawn(creator), boostBlur_(NULL)
+    SpaceShip::SpaceShip(Context* context) : Pawn(context), boostBlur_(NULL)
     {
         RegisterObject(SpaceShip);
Index: code/branches/core6/src/orxonox/worldentities/pawns/SpaceShip.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/SpaceShip.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/SpaceShip.h	(revision 9629)
@@ -88,5 +88,5 @@
     {
         public:
-            SpaceShip(BaseObject* creator);
+            SpaceShip(Context* context);
             virtual ~SpaceShip();
 
Index: code/branches/core6/src/orxonox/worldentities/pawns/Spectator.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/Spectator.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/Spectator.cc	(revision 9629)
@@ -47,5 +47,5 @@
     CreateFactory(Spectator);
 
-    Spectator::Spectator(BaseObject* creator) : ControllableEntity(creator)
+    Spectator::Spectator(Context* context) : ControllableEntity(context)
     {
         RegisterObject(Spectator);
Index: code/branches/core6/src/orxonox/worldentities/pawns/Spectator.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/Spectator.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/Spectator.h	(revision 9629)
@@ -40,5 +40,5 @@
     {
         public:
-            Spectator(BaseObject* creator);
+            Spectator(Context* context);
             virtual ~Spectator();
 
Index: code/branches/core6/src/orxonox/worldentities/pawns/TeamBaseMatchBase.cc
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/TeamBaseMatchBase.cc	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/TeamBaseMatchBase.cc	(revision 9629)
@@ -39,5 +39,5 @@
     CreateFactory(TeamBaseMatchBase);
 
-    TeamBaseMatchBase::TeamBaseMatchBase(BaseObject* creator) : Pawn(creator)
+    TeamBaseMatchBase::TeamBaseMatchBase(Context* context) : Pawn(context)
     {
         RegisterObject(TeamBaseMatchBase);
Index: code/branches/core6/src/orxonox/worldentities/pawns/TeamBaseMatchBase.h
===================================================================
--- code/branches/core6/src/orxonox/worldentities/pawns/TeamBaseMatchBase.h	(revision 9628)
+++ code/branches/core6/src/orxonox/worldentities/pawns/TeamBaseMatchBase.h	(revision 9629)
@@ -50,5 +50,5 @@
     {
         public:
-            TeamBaseMatchBase(BaseObject* creator);
+            TeamBaseMatchBase(Context* context);
 
             // if class closes, close everything
