Index: code/trunk/src/orxonox/collisionshapes/CollisionShape.cc
===================================================================
--- code/trunk/src/orxonox/collisionshapes/CollisionShape.cc	(revision 8858)
+++ code/trunk/src/orxonox/collisionshapes/CollisionShape.cc	(revision 9667)
@@ -44,4 +44,5 @@
 namespace orxonox
 {
+    RegisterAbstractClass(CollisionShape).inheritsFrom(Class(BaseObject)).inheritsFrom(Class(Synchronisable));
 
     /**
@@ -49,7 +50,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/trunk/src/orxonox/collisionshapes/CollisionShape.h
===================================================================
--- code/trunk/src/orxonox/collisionshapes/CollisionShape.h	(revision 8858)
+++ code/trunk/src/orxonox/collisionshapes/CollisionShape.h	(revision 9667)
@@ -58,5 +58,5 @@
     {
         public:
-            CollisionShape(BaseObject* creator);
+            CollisionShape(Context* context);
             virtual ~CollisionShape();
 
Index: code/trunk/src/orxonox/collisionshapes/CompoundCollisionShape.cc
===================================================================
--- code/trunk/src/orxonox/collisionshapes/CompoundCollisionShape.cc	(revision 8858)
+++ code/trunk/src/orxonox/collisionshapes/CompoundCollisionShape.cc	(revision 9667)
@@ -42,5 +42,5 @@
 namespace orxonox
 {
-    CreateFactory(CompoundCollisionShape);
+    RegisterClass(CompoundCollisionShape);
 
     /**
@@ -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/trunk/src/orxonox/collisionshapes/CompoundCollisionShape.h
===================================================================
--- code/trunk/src/orxonox/collisionshapes/CompoundCollisionShape.h	(revision 8858)
+++ code/trunk/src/orxonox/collisionshapes/CompoundCollisionShape.h	(revision 9667)
@@ -58,5 +58,5 @@
     {
         public:
-            CompoundCollisionShape(BaseObject* creator);
+            CompoundCollisionShape(Context* context);
             virtual ~CompoundCollisionShape();
 
Index: code/trunk/src/orxonox/collisionshapes/WorldEntityCollisionShape.cc
===================================================================
--- code/trunk/src/orxonox/collisionshapes/WorldEntityCollisionShape.cc	(revision 8858)
+++ code/trunk/src/orxonox/collisionshapes/WorldEntityCollisionShape.cc	(revision 9667)
@@ -37,9 +37,9 @@
 namespace orxonox
 {
-    WorldEntityCollisionShape::WorldEntityCollisionShape(WorldEntity* creator) : CompoundCollisionShape(creator)
+    WorldEntityCollisionShape::WorldEntityCollisionShape(Context* context) : CompoundCollisionShape(context)
     {
         RegisterObject(WorldEntityCollisionShape);
 
-        this->worldEntityOwner_ = creator;
+        this->worldEntityOwner_ = NULL;
         // suppress synchronisation
         this->setSyncMode(ObjectDirection::None);
Index: code/trunk/src/orxonox/collisionshapes/WorldEntityCollisionShape.h
===================================================================
--- code/trunk/src/orxonox/collisionshapes/WorldEntityCollisionShape.h	(revision 8858)
+++ code/trunk/src/orxonox/collisionshapes/WorldEntityCollisionShape.h	(revision 9667)
@@ -38,8 +38,10 @@
     {
         public:
-            WorldEntityCollisionShape(WorldEntity* creator);
+            WorldEntityCollisionShape(Context* context);
             virtual ~WorldEntityCollisionShape();
 
-            inline WorldEntity* getWorldEntityOwner()
+            inline void setWorldEntityOwner(WorldEntity* worldEntityOwner)
+                { this->worldEntityOwner_ = worldEntityOwner; }
+            inline WorldEntity* getWorldEntityOwner() const
                 { return this->worldEntityOwner_; }
 
