Index: code/trunk/src/orxonox/infos/Bot.cc
===================================================================
--- code/trunk/src/orxonox/infos/Bot.cc	(revision 9348)
+++ code/trunk/src/orxonox/infos/Bot.cc	(revision 9667)
@@ -32,5 +32,5 @@
 #include "core/GameMode.h"
 #include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
+#include "core/config/ConfigValueIncludes.h"
 #include "gametypes/Gametype.h"
 #include "controllers/AIController.h"
@@ -38,7 +38,7 @@
 namespace orxonox
 {
-    CreateFactory(Bot);
+    RegisterClass(Bot);
 
-    Bot::Bot(BaseObject* creator) : PlayerInfo(creator)
+    Bot::Bot(Context* context) : PlayerInfo(context)
     {
         RegisterObject(Bot);
Index: code/trunk/src/orxonox/infos/Bot.h
===================================================================
--- code/trunk/src/orxonox/infos/Bot.h	(revision 9348)
+++ code/trunk/src/orxonox/infos/Bot.h	(revision 9667)
@@ -40,5 +40,5 @@
     {
         public:
-            Bot(BaseObject* creator);
+            Bot(Context* context);
             virtual ~Bot();
 
Index: code/trunk/src/orxonox/infos/GametypeInfo.cc
===================================================================
--- code/trunk/src/orxonox/infos/GametypeInfo.cc	(revision 9348)
+++ code/trunk/src/orxonox/infos/GametypeInfo.cc	(revision 9667)
@@ -48,5 +48,5 @@
 namespace orxonox
 {
-    CreateUnloadableFactory(GametypeInfo);
+    RegisterUnloadableClass(GametypeInfo);
 
     registerMemberNetworkFunction(GametypeInfo, dispatchAnnounceMessage);
@@ -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/trunk/src/orxonox/infos/GametypeInfo.h
===================================================================
--- code/trunk/src/orxonox/infos/GametypeInfo.h	(revision 9348)
+++ code/trunk/src/orxonox/infos/GametypeInfo.h	(revision 9667)
@@ -58,5 +58,5 @@
 
         public:
-            GametypeInfo(BaseObject* creator);
+            GametypeInfo(Context* context);
             virtual ~GametypeInfo();
 
Index: code/trunk/src/orxonox/infos/HumanPlayer.cc
===================================================================
--- code/trunk/src/orxonox/infos/HumanPlayer.cc	(revision 9348)
+++ code/trunk/src/orxonox/infos/HumanPlayer.cc	(revision 9667)
@@ -30,5 +30,5 @@
 
 #include "core/CoreIncludes.h"
-#include "core/ConfigValueIncludes.h"
+#include "core/config/ConfigValueIncludes.h"
 #include "core/GameMode.h"
 // #include "network/ClientInformation.h"
@@ -41,7 +41,7 @@
 namespace orxonox
 {
-    CreateUnloadableFactory(HumanPlayer);
-
-    HumanPlayer::HumanPlayer(BaseObject* creator) : PlayerInfo(creator)
+    RegisterUnloadableClass(HumanPlayer);
+
+    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/trunk/src/orxonox/infos/HumanPlayer.h
===================================================================
--- code/trunk/src/orxonox/infos/HumanPlayer.h	(revision 9348)
+++ code/trunk/src/orxonox/infos/HumanPlayer.h	(revision 9667)
@@ -40,5 +40,5 @@
     {
         public:
-            HumanPlayer(BaseObject* creator);
+            HumanPlayer(Context* context);
             virtual ~HumanPlayer();
 
Index: code/trunk/src/orxonox/infos/Info.cc
===================================================================
--- code/trunk/src/orxonox/infos/Info.cc	(revision 9348)
+++ code/trunk/src/orxonox/infos/Info.cc	(revision 9667)
@@ -32,5 +32,7 @@
 namespace orxonox
 {
-    Info::Info(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    RegisterClass(Info);
+
+    Info::Info(Context* context) : BaseObject(context), Synchronisable(context)
     {
         RegisterObject(Info);
Index: code/trunk/src/orxonox/infos/Info.h
===================================================================
--- code/trunk/src/orxonox/infos/Info.h	(revision 9348)
+++ code/trunk/src/orxonox/infos/Info.h	(revision 9667)
@@ -40,5 +40,5 @@
     {
         public:
-            Info(BaseObject* creator);
+            Info(Context* context);
             virtual ~Info() {}
     };
Index: code/trunk/src/orxonox/infos/PlayerInfo.cc
===================================================================
--- code/trunk/src/orxonox/infos/PlayerInfo.cc	(revision 9348)
+++ code/trunk/src/orxonox/infos/PlayerInfo.cc	(revision 9667)
@@ -40,5 +40,7 @@
 namespace orxonox
 {
-    PlayerInfo::PlayerInfo(BaseObject* creator) : Info(creator)
+    RegisterAbstractClass(PlayerInfo).inheritsFrom(Class(Info));
+
+    PlayerInfo::PlayerInfo(Context* context) : Info(context)
     {
         RegisterObject(PlayerInfo);
@@ -136,5 +138,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/trunk/src/orxonox/infos/PlayerInfo.h
===================================================================
--- code/trunk/src/orxonox/infos/PlayerInfo.h	(revision 9348)
+++ code/trunk/src/orxonox/infos/PlayerInfo.h	(revision 9667)
@@ -33,5 +33,5 @@
 
 #include "Info.h"
-#include "core/SubclassIdentifier.h"
+#include "core/class/SubclassIdentifier.h"
 
 namespace orxonox // tolua_export
@@ -41,5 +41,5 @@
     { // tolua_export
         public:
-            PlayerInfo(BaseObject* creator);
+            PlayerInfo(Context* context);
             virtual ~PlayerInfo();
 
