Index: /code/branches/presentationHS15/src/modules/hover/Hover.cc
===================================================================
--- /code/branches/presentationHS15/src/modules/hover/Hover.cc	(revision 11041)
+++ /code/branches/presentationHS15/src/modules/hover/Hover.cc	(revision 11042)
@@ -75,8 +75,8 @@
             //Outer Walls
             for(int i = 0; i<numCells; i++){
-                new HoverWall(origin_->getContext(), 0,        i+1,      cellSize, cellHeight, 1);
-                new HoverWall(origin_->getContext(), numCells, i+1,      cellSize, cellHeight, 1);
-                new HoverWall(origin_->getContext(), i+1,      0,        cellSize, cellHeight, 2);
-                new HoverWall(origin_->getContext(), i+1,      numCells, cellSize, cellHeight, 2);
+                (new HoverWall(origin_->getContext()))->init(0,        i+1,      cellSize, cellHeight, 1);
+                (new HoverWall(origin_->getContext()))->init(numCells, i+1,      cellSize, cellHeight, 1);
+                (new HoverWall(origin_->getContext()))->init(i+1,      0,        cellSize, cellHeight, 2);
+                (new HoverWall(origin_->getContext()))->init(i+1,      numCells, cellSize, cellHeight, 2);
             }
 
@@ -85,8 +85,8 @@
                 for(int x=0; x<numCells; x++){
                     switch(levelcode[ y * numCells + x ]){
-                        case 1: new HoverWall(origin_->getContext(), x+1, numCells-y, cellSize, cellHeight, 1);
+                        case 1: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
                                 break;
-                        case 3: new HoverWall(origin_->getContext(), x+1, numCells-y, cellSize, cellHeight, 1);
-                        case 2: new HoverWall(origin_->getContext(), x+1, numCells-y, cellSize, cellHeight, 0);
+                        case 3: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
+                        case 2: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 0);
                         default: break;
                     }
@@ -96,5 +96,9 @@
             //Generate 5 flags randomly
             for ( int i = 0; i < 5; i++ )
-                flagVector_.push_back(new HoverFlag(origin_->getContext(), rand()%numCells, rand()%numCells, cellSize));
+            {
+                HoverFlag* flag = new HoverFlag(origin_->getContext());
+                flag->init(rand()%numCells, rand()%numCells, cellSize);
+                flagVector_.push_back(flag);
+            }
 
             flags_ = flagVector_.size();
Index: /code/branches/presentationHS15/src/modules/hover/HoverFlag.cc
===================================================================
--- /code/branches/presentationHS15/src/modules/hover/HoverFlag.cc	(revision 11041)
+++ /code/branches/presentationHS15/src/modules/hover/HoverFlag.cc	(revision 11042)
@@ -48,11 +48,17 @@
     {
         RegisterObject(HoverFlag);
-        model_ = NULL;
-        cs_ = NULL;
+
+        this->model_ = NULL;
+        this->cs_ = NULL;
+        this->collided_ = false;
+
+        this->enableCollisionCallback();
+        this->setCollisionResponse(true);
+        this->setCollisionType(Static);
     }
 
     /**
     @brief
-        Constructor that expects two coordinate-values in the range 0-9
+        Initializes the flag.
     @param xCoordinate
         X-Coordinate of the flage, 0-9, origin is bottom left
@@ -60,12 +66,7 @@
         Y-Coordinate of the flage, 0-9, origin is bottom left
     */
-    HoverFlag::HoverFlag(Context* context, int xCoordinate, int yCoordinate, int cellSize) : StaticEntity(context)
+    void HoverFlag::init(int xCoordinate, int yCoordinate, int cellSize)
     {
-        RegisterObject(HoverFlag);
-        enableCollisionCallback();
-        model_ = NULL;
-        cs_ = NULL;
-
-        model_ = new Model(context);
+        model_ = new Model(this->getContext());
         model_->setMeshSource("ss_flag_eu.mesh");
         model_->setScale3D(Vector3(5, 5, 5));
@@ -74,15 +75,9 @@
         this->attach(model_);
 
-        this->enableCollisionCallback();
-        this->setCollisionResponse(true);
-        this->setCollisionType(Static);
-
-        cs_ = new BoxCollisionShape(context);
+        cs_ = new BoxCollisionShape(this->getContext());
         cs_->setHalfExtents(Vector3(5, 5, 5));
         cs_->setPosition(Vector3(xCoordinate*cellSize*1.0f + cellSize/2,0.0f,yCoordinate*cellSize*1.0f + cellSize/2));
 
         this->attachCollisionShape(cs_);
-        this->collided_ = false;
-
     }
 
Index: /code/branches/presentationHS15/src/modules/hover/HoverFlag.h
===================================================================
--- /code/branches/presentationHS15/src/modules/hover/HoverFlag.h	(revision 11041)
+++ /code/branches/presentationHS15/src/modules/hover/HoverFlag.h	(revision 11042)
@@ -47,6 +47,7 @@
         public:
             HoverFlag(Context* context);
-            HoverFlag(Context* context, int xCoordinate, int yCoordinate, int cellSize);
             virtual ~HoverFlag();
+
+            void init(int xCoordinate, int yCoordinate, int cellSize);
 
             virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* ownCollisionShape, btManifoldPoint& contactPoint);            
Index: /code/branches/presentationHS15/src/modules/hover/HoverWall.cc
===================================================================
--- /code/branches/presentationHS15/src/modules/hover/HoverWall.cc	(revision 11041)
+++ /code/branches/presentationHS15/src/modules/hover/HoverWall.cc	(revision 11042)
@@ -45,12 +45,25 @@
     {
         RegisterObject(HoverWall);
-        model_ = NULL;
-        cs_ = NULL;
+
+        this->model_ = NULL;
+        this->cs_ = NULL;
+
+        this->enableCollisionCallback();
+        this->setCollisionResponse(true);
+        this->setCollisionType(Static);
     }
-
 
     /**
     @brief
-        Constructor of a HoverWall
+        Destructor.
+    */
+    HoverWall::~HoverWall()
+    {
+
+    }
+
+    /**
+    @brief
+        Initializes a HoverWall
     @param x
         x-Coordinate of the Square that the Wall is attached to, 0-9, Origin is Bottom left
@@ -60,8 +73,6 @@
             Wall on the right side (1) or on top (2) of this square, 0-1        
     */
-    HoverWall::HoverWall(Context* context, int x, int y, int cellSize, int cellHeight, int orientation) : StaticEntity(context)
+    void HoverWall::init(int x, int y, int cellSize, int cellHeight, int orientation)
     {
-        RegisterObject(HoverWall);
-
         int xSize_, zSize_, xPos_, zPos_;
 
@@ -80,5 +91,5 @@
 
 
-        model_ = new Model(context);
+        model_ = new Model(this->getContext());
         model_->setMeshSource("CuboidBody.mesh");
         model_->setScale3D(Vector3(xSize_*1.0f, cellHeight*1.0f, zSize_*1.0f));
@@ -87,9 +98,5 @@
         this->attach(model_);
 
-        this->enableCollisionCallback();
-        this->setCollisionResponse(true);
-        this->setCollisionType(Static);
-
-        cs_ = new BoxCollisionShape(context);
+        cs_ = new BoxCollisionShape(this->getContext());
         cs_->setHalfExtents(Vector3(xSize_*1.0f, cellHeight*1.0f, zSize_*1.0f));
         cs_->setPosition(Vector3(xPos_*1.0f, 0.0f, zPos_*1.0f));
@@ -97,12 +104,3 @@
         this->attachCollisionShape(cs_);
     }
-
-    /**
-    @brief
-        Destructor.
-    */
-    HoverWall::~HoverWall()
-    {
-
-    }
 }
Index: /code/branches/presentationHS15/src/modules/hover/HoverWall.h
===================================================================
--- /code/branches/presentationHS15/src/modules/hover/HoverWall.h	(revision 11041)
+++ /code/branches/presentationHS15/src/modules/hover/HoverWall.h	(revision 11042)
@@ -46,7 +46,8 @@
     {
         public:
-            HoverWall(Context* context);            
-            HoverWall(Context* context, int x, int y, int cellSize, int cellHeight, int orientation);
+            HoverWall(Context* context);
             virtual ~HoverWall();
+
+            void init(int x, int y, int cellSize, int cellHeight, int orientation);
 
         private:
