Index: code/branches/presentation/src/orxonox/objects/Level.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/Level.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/Level.cc	(revision 2371)
@@ -83,7 +83,7 @@
     void Level::registerVariables()
     {
-        REGISTERSTRING(this->xmlfilename_, direction::toclient, new NetworkCallback<Level>(this, &Level::networkcallback_applyXMLFile));
-        REGISTERSTRING(this->name_,        direction::toclient, new NetworkCallback<Level>(this, &Level::changedName));
-        REGISTERSTRING(this->description_, direction::toclient);
+        registerVariable(this->xmlfilename_, variableDirection::toclient, new NetworkCallback<Level>(this, &Level::networkcallback_applyXMLFile));
+        registerVariable(this->name_,        variableDirection::toclient, new NetworkCallback<Level>(this, &Level::changedName));
+        registerVariable(this->description_, variableDirection::toclient);
     }
 
Index: code/branches/presentation/src/orxonox/objects/Level.h
===================================================================
--- code/branches/presentation/src/orxonox/objects/Level.h	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/Level.h	(revision 2371)
@@ -32,5 +32,5 @@
 #include "OrxonoxPrereqs.h"
 
-#include "network/Synchronisable.h"
+#include "network/synchronisable/Synchronisable.h"
 #include "core/BaseObject.h"
 
Index: code/branches/presentation/src/orxonox/objects/Scene.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/Scene.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/Scene.cc	(revision 2371)
@@ -114,6 +114,6 @@
     void Scene::registerVariables()
     {
-        REGISTERSTRING(this->skybox_,     direction::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applySkybox));
-        REGISTERDATA(this->ambientLight_, direction::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applyAmbientLight));
+        registerVariable(this->skybox_,     variableDirection::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applySkybox));
+        registerVariable(this->ambientLight_, variableDirection::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applyAmbientLight));
     }
 
Index: code/branches/presentation/src/orxonox/objects/Scene.h
===================================================================
--- code/branches/presentation/src/orxonox/objects/Scene.h	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/Scene.h	(revision 2371)
@@ -32,5 +32,5 @@
 #include "OrxonoxPrereqs.h"
 
-#include "network/Synchronisable.h"
+#include "network/synchronisable/Synchronisable.h"
 #include "core/BaseObject.h"
 #include "util/Math.h"
Index: code/branches/presentation/src/orxonox/objects/Test.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/Test.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/Test.cc	(revision 2371)
@@ -61,8 +61,13 @@
 	void Test::setConfigValues()
 	{
-		SetConfigValue ( v1, 1 )/*.callback ( this, &Test::checkV1 )*/;
-    SetConfigValue ( v2, 2 )/*.callback ( this, &Test::checkV2 )*/;
-    SetConfigValue ( v3, 3 )/*.callback ( this, &Test::checkV3 )*/;
-    SetConfigValue ( v4, 4 )/*.callback ( this, &Test::checkV4 )*/;
+		SetConfigValue ( u1, 1 )/*.callback ( this, &Test::checkV1 )*/;
+    SetConfigValue ( u2, 2 )/*.callback ( this, &Test::checkV2 )*/;
+    SetConfigValue ( u3, 3 )/*.callback ( this, &Test::checkV3 )*/;
+    SetConfigValue ( u4, 4 )/*.callback ( this, &Test::checkV4 )*/;
+    
+    SetConfigValue ( s1, 1 )/*.callback ( this, &Test::checkV1 )*/;
+    SetConfigValue ( s2, 2 )/*.callback ( this, &Test::checkV2 )*/;
+    SetConfigValue ( s3, 3 )/*.callback ( this, &Test::checkV3 )*/;
+    SetConfigValue ( s4, 4 )/*.callback ( this, &Test::checkV4 )*/;
 	}
 
@@ -70,26 +75,24 @@
 	void Test::registerVariables()
 	{
-		REGISTERDATA ( v1,direction::toclient, new NetworkCallback<Test> ( this, &Test::checkV1 ) );
-    REGISTERDATA ( v2,direction::toserver, new NetworkCallback<Test> ( this, &Test::checkV2 ) );
-		REGISTERDATA ( v3,direction::serverMaster, new NetworkCallback<Test> ( this, &Test::checkV3 ) );
-    REGISTERDATA ( v4,direction::clientMaster, new NetworkCallback<Test> ( this, &Test::checkV4 ) );
+		registerVariable ( u1, variableDirection::toclient, new NetworkCallback<Test> ( this, &Test::checkU1 ));
+    registerVariable ( u2, variableDirection::toserver, new NetworkCallback<Test> ( this, &Test::checkU2 ));
+		registerVariable ( u3, variableDirection::serverMaster, new NetworkCallback<Test> ( this, &Test::checkU3 ), true );
+    registerVariable ( u4, variableDirection::clientMaster, new NetworkCallback<Test> ( this, &Test::checkU4 ), true );
+    
+    registerVariable ( s1, variableDirection::toclient, new NetworkCallback<Test> ( this, &Test::checkS1 ));
+    registerVariable ( s2, variableDirection::toserver, new NetworkCallback<Test> ( this, &Test::checkS2 ));
+    registerVariable ( s3, variableDirection::serverMaster, new NetworkCallback<Test> ( this, &Test::checkS3 ), true );
+    registerVariable ( s4, variableDirection::clientMaster, new NetworkCallback<Test> ( this, &Test::checkS4 ), true );
 	}
 
-  void Test::checkV1(){
-    COUT(1) << "V1 changed: " << v1 << std::endl;
-  }
+  void Test::checkU1(){ COUT(1) << "U1 changed: " << u1 << std::endl; }
+  void Test::checkU2(){ COUT(1) << "U2 changed: " << u2 << std::endl; }
+  void Test::checkU3(){ COUT(1) << "U3 changed: " << u3 << std::endl; }
+  void Test::checkU4(){ COUT(1) << "U4 changed: " << u4 << std::endl; }
 
-  void Test::checkV2(){
-    COUT(1) << "V2 changed: " << v2 << std::endl;
-  }
-
-  void Test::checkV3(){
-    COUT(1) << "V3 changed: " << v3 << std::endl;
-  }
-  
-  void Test::checkV4(){
-    COUT(1) << "V4 changed: " << v4 << std::endl;
-  }
-
+  void Test::checkS1(){ COUT(1) << "S1 changed: " << s1 << std::endl; }
+  void Test::checkS2(){ COUT(1) << "S2 changed: " << s2 << std::endl; }
+  void Test::checkS3(){ COUT(1) << "S3 changed: " << s3 << std::endl; }
+  void Test::checkS4(){ COUT(1) << "S4 changed: " << s4 << std::endl; }
 
 }
Index: code/branches/presentation/src/orxonox/objects/Test.h
===================================================================
--- code/branches/presentation/src/orxonox/objects/Test.h	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/Test.h	(revision 2371)
@@ -32,5 +32,10 @@
 #include "OrxonoxPrereqs.h"
 #include "core/BaseObject.h"
-#include "network/Synchronisable.h"
+#include "network/synchronisable/Synchronisable.h"
+
+
+typedef int TYPE;
+typedef unsigned int UTYPE;
+
 
 namespace orxonox
@@ -45,24 +50,40 @@
       void registerVariables();
 
-      void setV1(unsigned int value){ v1 = value; }
-      void setV2(unsigned int value){ v2 = value; }
-      void setV3(unsigned int value){ v3 = value; }
-      void setV4(unsigned int value){ v4 = value; }
 
-      void checkV1();
-      void checkV2();
-      void checkV3();
-      void checkV4();
+      //unsigned functions
+      void setU1(UTYPE value){ u1 = value; }
+      void setU2(UTYPE value){ u2 = value; }
+      void setU3(UTYPE value){ u3 = value; }
+      void setU4(UTYPE value){ u4 = value; }
+      void checkU1();
+      void checkU2();
+      void checkU3();
+      void checkU4();
       
-      void printV1(){ instance_->checkV1(); }
-      void printV2(){ instance_->checkV2(); }
-      void printV3(){ instance_->checkV3(); }
-      void printV4(){ instance_->checkV4(); }
+      //signed functions
+      void setS1(TYPE value){ s1 = value; }
+      void setS2(TYPE value){ s2 = value; }
+      void setS3(TYPE value){ s3 = value; }
+      void setS4(TYPE value){ s4 = value; }
+      void checkS1();
+      void checkS2();
+      void checkS3();
+      void checkS4();
+      
+      static void printV1(){ instance_->checkU1(); }
+      static void printV2(){ instance_->checkU2(); }
+      static void printV3(){ instance_->checkU3(); }
+      static void printV4(){ instance_->checkU4(); }
 
     private:
-      unsigned int v1;
-      unsigned int v2;
-      unsigned int v3;
-      unsigned int v4;
+      UTYPE u1;
+      UTYPE u2;
+      UTYPE u3;
+      UTYPE u4;
+      
+      TYPE s1;
+      TYPE s2;
+      TYPE s3;
+      TYPE s4;
       
       static Test* instance_;
Index: code/branches/presentation/src/orxonox/objects/infos/HumanPlayer.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/infos/HumanPlayer.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/infos/HumanPlayer.cc	(revision 2371)
@@ -67,9 +67,9 @@
     void HumanPlayer::registerVariables()
     {
-        REGISTERSTRING(this->synchronize_nick_, direction::toserver, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_changednick));
+        registerVariable(this->synchronize_nick_, variableDirection::toserver, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_changednick));
 
-        REGISTERDATA(this->clientID_,     direction::toclient, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_clientIDchanged));
-        REGISTERDATA(this->server_initialized_, direction::toclient, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_server_initialized));
-        REGISTERDATA(this->client_initialized_, direction::toserver, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_client_initialized));
+        registerVariable(this->clientID_,     variableDirection::toclient, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_clientIDchanged));
+        registerVariable(this->server_initialized_, variableDirection::toclient, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_server_initialized));
+        registerVariable(this->client_initialized_, variableDirection::toserver, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_client_initialized));
     }
 
@@ -99,5 +99,5 @@
 
             if (!Core::isMaster())
-                this->setObjectMode(direction::bidirectional);
+                this->setObjectMode(objectDirection::bidirectional);
             else
                 this->setName(this->nick_);
Index: code/branches/presentation/src/orxonox/objects/infos/Info.h
===================================================================
--- code/branches/presentation/src/orxonox/objects/infos/Info.h	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/infos/Info.h	(revision 2371)
@@ -32,5 +32,5 @@
 #include "OrxonoxPrereqs.h"
 
-#include "network/Synchronisable.h"
+#include "network/synchronisable/Synchronisable.h"
 #include "core/BaseObject.h"
 
Index: code/branches/presentation/src/orxonox/objects/infos/PlayerInfo.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/infos/PlayerInfo.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/infos/PlayerInfo.cc	(revision 2371)
@@ -69,7 +69,7 @@
     void PlayerInfo::registerVariables()
     {
-        REGISTERSTRING(this->name_,                 direction::toclient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::changedName));
-        REGISTERDATA  (this->controllableEntityID_, direction::toclient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::networkcallback_changedcontrollableentityID));
-        REGISTERDATA  (this->bReadyToSpawn_,        direction::toserver);
+        registerVariable(this->name_,                 variableDirection::toclient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::changedName));
+        registerVariable(this->controllableEntityID_, variableDirection::toclient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::networkcallback_changedcontrollableentityID));
+        registerVariable(this->bReadyToSpawn_,        variableDirection::toserver);
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/Billboard.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/Billboard.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/Billboard.cc	(revision 2371)
@@ -64,6 +64,6 @@
     void Billboard::registerVariables()
     {
-        REGISTERSTRING(this->material_, direction::toclient, new NetworkCallback<Billboard>(this, &Billboard::changedMaterial));
-        REGISTERDATA  (this->colour_,   direction::toclient, new NetworkCallback<Billboard>(this, &Billboard::changedColour));
+        registerVariable(this->material_, variableDirection::toclient, new NetworkCallback<Billboard>(this, &Billboard::changedMaterial));
+        registerVariable(this->colour_,   variableDirection::toclient, new NetworkCallback<Billboard>(this, &Billboard::changedColour));
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/ControllableEntity.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/ControllableEntity.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/ControllableEntity.cc	(revision 2371)
@@ -165,5 +165,5 @@
                 this->client_overwrite_ = this->server_overwrite_;
 COUT(0) << "CE: bidirectional synchronization" << std::endl;
-                this->setObjectMode(direction::bidirectional);
+                this->setObjectMode(objectDirection::bidirectional);
             }
         }
@@ -178,5 +178,5 @@
         this->playerID_ = OBJECTID_UNKNOWN;
         this->bControlled_ = false;
-        this->setObjectMode(direction::toclient);
+        this->setObjectMode(objectDirection::toclient);
 
         if (this->bDestroyWhenPlayerLeft_)
@@ -248,19 +248,19 @@
     void ControllableEntity::registerVariables()
     {
-        REGISTERSTRING(this->cameraPositionTemplate_, direction::toclient);
-
-        REGISTERDATA(this->client_overwrite_,   direction::toserver);
-        
-        REGISTERDATA(this->server_position_,    direction::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerPosition));
-        REGISTERDATA(this->server_velocity_,    direction::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerVelocity));
-        REGISTERDATA(this->server_orientation_, direction::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerOrientation));
-        REGISTERDATA(this->server_overwrite_,   direction::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processOverwrite));
-
-        REGISTERDATA(this->client_position_,    direction::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientPosition));
-        REGISTERDATA(this->client_velocity_,    direction::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientVelocity));
-        REGISTERDATA(this->client_orientation_, direction::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientOrientation));
-
-
-        REGISTERDATA(this->playerID_, direction::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::networkcallback_changedplayerID));
+        registerVariable(this->cameraPositionTemplate_, variableDirection::toclient);
+  
+        registerVariable(this->client_overwrite_,   variableDirection::toserver);
+          
+        registerVariable(this->server_position_,    variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerPosition));
+        registerVariable(this->server_velocity_,    variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerVelocity));
+        registerVariable(this->server_orientation_, variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerOrientation));
+        registerVariable(this->server_overwrite_,   variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processOverwrite));
+  
+        registerVariable(this->client_position_,    variableDirection::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientPosition));
+        registerVariable(this->client_velocity_,    variableDirection::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientVelocity));
+        registerVariable(this->client_orientation_, variableDirection::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientOrientation));
+  
+  
+        registerVariable(this->playerID_, variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::networkcallback_changedplayerID));
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/Light.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/Light.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/Light.cc	(revision 2371)
@@ -79,8 +79,8 @@
     void Light::registerVariables()
     {
-        REGISTERDATA(this->type_, direction::toclient, new NetworkCallback<Light>(this, &Light::changedType));
-        REGISTERDATA(this->light_->getDiffuseColour(), direction::toclient);
-        REGISTERDATA(this->light_->getSpecularColour(), direction::toclient);
-        REGISTERDATA(this->light_->getDirection(), direction::toclient);
+        registerVariable((int &)this->type_, variableDirection::toclient, new NetworkCallback<Light>(this, &Light::changedType));
+        registerVariable(this->light_->getDiffuseColour(), variableDirection::toclient);
+        registerVariable(this->light_->getSpecularColour(), variableDirection::toclient);
+        registerVariable(this->light_->getDirection(), variableDirection::toclient);
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/Model.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/Model.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/Model.cc	(revision 2371)
@@ -40,7 +40,9 @@
     Model::Model(BaseObject* creator) : PositionableEntity(creator)
     {
+        static unsigned int i=10;
         RegisterObject(Model);
 
         this->registerVariables();
+        this->setObjectPriority(i++);
     }
 
@@ -61,6 +63,6 @@
     void Model::registerVariables()
     {
-        REGISTERSTRING(this->meshSrc_,    direction::toclient, new NetworkCallback<Model>(this, &Model::changedMesh));
-        REGISTERDATA(this->bCastShadows_, direction::toclient, new NetworkCallback<Model>(this, &Model::changedShadows));
+        registerVariable(this->meshSrc_,    variableDirection::toclient, new NetworkCallback<Model>(this, &Model::changedMesh));
+        registerVariable(this->bCastShadows_, variableDirection::toclient, new NetworkCallback<Model>(this, &Model::changedShadows));
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/MovableEntity.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/MovableEntity.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/MovableEntity.cc	(revision 2371)
@@ -84,16 +84,16 @@
     void MovableEntity::registerVariables()
     {
-        REGISTERDATA(this->velocity_.x, direction::toclient);
-        REGISTERDATA(this->velocity_.y, direction::toclient);
-        REGISTERDATA(this->velocity_.z, direction::toclient);
-
-        REGISTERDATA(this->rotationAxis_.x, direction::toclient);
-        REGISTERDATA(this->rotationAxis_.y, direction::toclient);
-        REGISTERDATA(this->rotationAxis_.z, direction::toclient);
-
-        REGISTERDATA(this->rotationRate_, direction::toclient);
-
-        REGISTERDATA(this->overwrite_position_,    direction::toclient, new NetworkCallback<MovableEntity>(this, &MovableEntity::overwritePosition));
-        REGISTERDATA(this->overwrite_orientation_, direction::toclient, new NetworkCallback<MovableEntity>(this, &MovableEntity::overwriteOrientation));
+        registerVariable(this->velocity_.x, variableDirection::toclient);
+        registerVariable(this->velocity_.y, variableDirection::toclient);
+        registerVariable(this->velocity_.z, variableDirection::toclient);
+  
+        registerVariable(this->rotationAxis_.x, variableDirection::toclient);
+        registerVariable(this->rotationAxis_.y, variableDirection::toclient);
+        registerVariable(this->rotationAxis_.z, variableDirection::toclient);
+  
+        registerVariable(this->rotationRate_, variableDirection::toclient);
+  
+        registerVariable(this->overwrite_position_,    variableDirection::toclient, new NetworkCallback<MovableEntity>(this, &MovableEntity::overwritePosition));
+        registerVariable(this->overwrite_orientation_, variableDirection::toclient, new NetworkCallback<MovableEntity>(this, &MovableEntity::overwriteOrientation));
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/ParticleEmitter.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/ParticleEmitter.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/ParticleEmitter.cc	(revision 2371)
@@ -75,6 +75,6 @@
     void ParticleEmitter::registerVariables()
     {
-        REGISTERSTRING(this->source_, direction::toclient, new NetworkCallback<ParticleEmitter>(this, &ParticleEmitter::sourceChanged));
-        REGISTERDATA  (this->LOD_,    direction::toclient, new NetworkCallback<ParticleEmitter>(this, &ParticleEmitter::LODchanged));
+        registerVariable(this->source_, variableDirection::toclient, new NetworkCallback<ParticleEmitter>(this, &ParticleEmitter::sourceChanged));
+        registerVariable((int&)(this->LOD_),    variableDirection::toclient, new NetworkCallback<ParticleEmitter>(this, &ParticleEmitter::LODchanged));
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/PositionableEntity.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/PositionableEntity.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/PositionableEntity.cc	(revision 2371)
@@ -48,12 +48,12 @@
     void PositionableEntity::registerVariables()
     {
-        REGISTERDATA(this->getPosition().x, direction::toclient);
-        REGISTERDATA(this->getPosition().y, direction::toclient);
-        REGISTERDATA(this->getPosition().z, direction::toclient);
+        registerVariable(this->getPosition().x, variableDirection::toclient);
+        registerVariable(this->getPosition().y, variableDirection::toclient);
+        registerVariable(this->getPosition().z, variableDirection::toclient);
 
-        REGISTERDATA(this->getOrientation().w, direction::toclient);
-        REGISTERDATA(this->getOrientation().x, direction::toclient);
-        REGISTERDATA(this->getOrientation().y, direction::toclient);
-        REGISTERDATA(this->getOrientation().z, direction::toclient);
+        registerVariable(this->getOrientation().w, variableDirection::toclient);
+        registerVariable(this->getOrientation().x, variableDirection::toclient);
+        registerVariable(this->getOrientation().y, variableDirection::toclient);
+        registerVariable(this->getOrientation().z, variableDirection::toclient);
     }
 }
Index: code/branches/presentation/src/orxonox/objects/worldentities/WorldEntity.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/WorldEntity.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/WorldEntity.cc	(revision 2371)
@@ -96,12 +96,12 @@
     void WorldEntity::registerVariables()
     {
-        REGISTERDATA(this->bActive_,  direction::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedActivity));
-        REGISTERDATA(this->bVisible_, direction::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedVisibility));
-
-        REGISTERDATA(this->getScale3D().x, direction::toclient);
-        REGISTERDATA(this->getScale3D().y, direction::toclient);
-        REGISTERDATA(this->getScale3D().z, direction::toclient);
-
-        REGISTERDATA(this->parentID_, direction::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::updateParent));
+        registerVariable(this->bActive_,  variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedActivity));
+        registerVariable(this->bVisible_, variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedVisibility));
+  
+        registerVariable(this->getScale3D().x, variableDirection::toclient);
+        registerVariable(this->getScale3D().y, variableDirection::toclient);
+        registerVariable(this->getScale3D().z, variableDirection::toclient);
+  
+        registerVariable(this->parentID_, variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::updateParent));
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/WorldEntity.h
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/WorldEntity.h	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/WorldEntity.h	(revision 2371)
@@ -36,5 +36,5 @@
 #include <OgreSceneNode.h>
 
-#include "network/Synchronisable.h"
+#include "network/synchronisable/Synchronisable.h"
 #include "core/BaseObject.h"
 #include "util/Math.h"
Index: code/branches/presentation/src/orxonox/objects/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/pawns/Pawn.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/pawns/Pawn.cc	(revision 2371)
@@ -80,6 +80,6 @@
     void Pawn::registerVariables()
     {
-        REGISTERDATA(this->bAlive_, direction::toclient);
-        REGISTERDATA(this->health_, direction::toclient);
+        registerVariable(this->bAlive_, variableDirection::toclient);
+        registerVariable(this->health_, variableDirection::toclient);
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/pawns/SpaceShip.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/pawns/SpaceShip.cc	(revision 2371)
@@ -82,10 +82,10 @@
     void SpaceShip::registerVariables()
     {
-        REGISTERDATA(this->maxSpeed_,                direction::toclient);
-        REGISTERDATA(this->maxSecondarySpeed_,       direction::toclient);
-        REGISTERDATA(this->maxRotation_,             direction::toclient);
-        REGISTERDATA(this->translationAcceleration_, direction::toclient);
-        REGISTERDATA(this->rotationAcceleration_,    direction::toclient);
-        REGISTERDATA(this->translationDamping_,      direction::toclient);
+        registerVariable(this->maxSpeed_,                variableDirection::toclient);
+        registerVariable(this->maxSecondarySpeed_,       variableDirection::toclient);
+        registerVariable(this->maxRotation_,             variableDirection::toclient);
+        registerVariable(this->translationAcceleration_, variableDirection::toclient);
+        registerVariable(this->rotationAcceleration_,    variableDirection::toclient);
+        registerVariable(this->translationDamping_,      variableDirection::toclient);
     }
 
Index: code/branches/presentation/src/orxonox/objects/worldentities/pawns/Spectator.cc
===================================================================
--- code/branches/presentation/src/orxonox/objects/worldentities/pawns/Spectator.cc	(revision 2370)
+++ code/branches/presentation/src/orxonox/objects/worldentities/pawns/Spectator.cc	(revision 2371)
@@ -86,7 +86,7 @@
     void Spectator::registerVariables()
     {
-        REGISTERDATA(this->bGreetingFlareVisible_, direction::toclient, new NetworkCallback<Spectator>(this, &Spectator::changedFlareVisibility));
-        REGISTERDATA(this->bGreeting_,             direction::toserver, new NetworkCallback<Spectator>(this, &Spectator::changedGreeting));
-        REGISTERDATA(this->hudmode_,               direction::toclient);
+        registerVariable(this->bGreetingFlareVisible_, variableDirection::toclient, new NetworkCallback<Spectator>(this, &Spectator::changedFlareVisibility));
+        registerVariable(this->bGreeting_,             variableDirection::toserver, new NetworkCallback<Spectator>(this, &Spectator::changedGreeting));
+        registerVariable(this->hudmode_,               variableDirection::toclient);
     }
 
