Index: trunk/src/world_entities/camera.cc
===================================================================
--- trunk/src/world_entities/camera.cc	(revision 7840)
+++ trunk/src/world_entities/camera.cc	(revision 7868)
@@ -16,9 +16,5 @@
 
 #include "camera.h"
-
-#include "event_handler.h"
-
-using namespace std;
-
+#include "key_mapper.h"
 
 /**
@@ -31,10 +27,10 @@
   this->target = new CameraTarget();
 
-  EventHandler::getInstance()->subscribe(this, ES_GAME, KeyMapper::PEV_VIEW0);
-  EventHandler::getInstance()->subscribe(this, ES_GAME, KeyMapper::PEV_VIEW1);
-  EventHandler::getInstance()->subscribe(this, ES_GAME, KeyMapper::PEV_VIEW2);
-  EventHandler::getInstance()->subscribe(this, ES_GAME, KeyMapper::PEV_VIEW3);
-  EventHandler::getInstance()->subscribe(this, ES_GAME, KeyMapper::PEV_VIEW4);
-  EventHandler::getInstance()->subscribe(this, ES_GAME, KeyMapper::PEV_VIEW5);
+  this->subscribeEvent(ES_GAME, KeyMapper::PEV_VIEW0);
+  this->subscribeEvent(ES_GAME, KeyMapper::PEV_VIEW1);
+  this->subscribeEvent(ES_GAME, KeyMapper::PEV_VIEW2);
+  this->subscribeEvent(ES_GAME, KeyMapper::PEV_VIEW3);
+  this->subscribeEvent(ES_GAME, KeyMapper::PEV_VIEW4);
+  this->subscribeEvent(ES_GAME, KeyMapper::PEV_VIEW5);
 
   this->setFovy(90);
Index: trunk/src/world_entities/creatures/md2_creature.cc
===================================================================
--- trunk/src/world_entities/creatures/md2_creature.cc	(revision 7840)
+++ trunk/src/world_entities/creatures/md2_creature.cc	(revision 7868)
@@ -32,5 +32,4 @@
 #include "util/loading/factory.h"
 #include "key_mapper.h"
-#include "event_handler.h"
 
 #include "graphics_engine.h"
Index: trunk/src/world_entities/playable.cc
===================================================================
--- trunk/src/world_entities/playable.cc	(revision 7840)
+++ trunk/src/world_entities/playable.cc	(revision 7868)
@@ -16,5 +16,6 @@
 
 #include "playable.h"
-#include "event_handler.h"
+
+#include "key_mapper.h"
 
 #include "player.h"
@@ -225,8 +226,7 @@
 
     // unsubscibe all events.
-    EventHandler* evh = EventHandler::getInstance();
     std::vector<int>::iterator ev;
     for (ev = this->events.begin(); ev != events.end(); ev++)
-      evh->unsubscribe( ES_GAME, (*ev));
+      player->unsubscribeEvent(ES_GAME, (*ev));
 
     // leave the entity
@@ -251,8 +251,7 @@
 
     /*EventHandler*/
-    EventHandler* evh = EventHandler::getInstance();
     std::vector<int>::iterator ev;
     for (ev = this->events.begin(); ev != events.end(); ev++)
-      evh->subscribe(player, ES_GAME, (*ev));
+      player->subscribeEvent(ES_GAME, (*ev));
 
     this->enter();
@@ -440,5 +439,5 @@
 
   if (this->currentPlayer != NULL)
-    EventHandler::getInstance()->subscribe(this->currentPlayer, ES_GAME, eventType);
+    this->currentPlayer->subscribeEvent(ES_GAME, eventType);
 }
 
@@ -453,5 +452,5 @@
 
   if (this->currentPlayer != NULL)
-    EventHandler::getInstance()->unsubscribe(ES_GAME, eventType);
+    this->currentPlayer->unsubscribeEvent(ES_GAME, eventType);
 }
 
Index: trunk/src/world_entities/player.cc
===================================================================
--- trunk/src/world_entities/player.cc	(revision 7840)
+++ trunk/src/world_entities/player.cc	(revision 7868)
@@ -40,5 +40,5 @@
   this->hud.show();
 
-  EventHandler::getInstance()->subscribe(this, ES_GAME, KeyMapper::PEV_CHANGE_SHIP);
+  this->subscribeEvent(ES_GAME, KeyMapper::PEV_CHANGE_SHIP);
 }
 
Index: trunk/src/world_entities/space_ships/helicopter.cc
===================================================================
--- trunk/src/world_entities/space_ships/helicopter.cc	(revision 7840)
+++ trunk/src/world_entities/space_ships/helicopter.cc	(revision 7868)
@@ -28,5 +28,4 @@
 
 #include "key_mapper.h"
-#include "event_handler.h"
 #include "state.h"
 
Index: trunk/src/world_entities/space_ships/hover.cc
===================================================================
--- trunk/src/world_entities/space_ships/hover.cc	(revision 7840)
+++ trunk/src/world_entities/space_ships/hover.cc	(revision 7868)
@@ -26,5 +26,4 @@
 #include "util/loading/factory.h"
 #include "key_mapper.h"
-#include "event_handler.h"
 #include "state.h"
 
Index: trunk/src/world_entities/space_ships/space_ship.cc
===================================================================
--- trunk/src/world_entities/space_ships/space_ship.cc	(revision 7840)
+++ trunk/src/world_entities/space_ships/space_ship.cc	(revision 7868)
@@ -31,5 +31,4 @@
 #include "util/loading/factory.h"
 #include "key_mapper.h"
-#include "event_handler.h"
 
 #include "network_game_manager.h"
Index: trunk/src/world_entities/space_ships/turbine_hover.cc
===================================================================
--- trunk/src/world_entities/space_ships/turbine_hover.cc	(revision 7840)
+++ trunk/src/world_entities/space_ships/turbine_hover.cc	(revision 7868)
@@ -26,5 +26,4 @@
 #include "util/loading/factory.h"
 #include "key_mapper.h"
-#include "event_handler.h"
 #include "state.h"
 
@@ -32,6 +31,4 @@
 #include "dot_emitter.h"
 #include "sprite_particles.h"
-
-using namespace std;
 
 CREATE_FACTORY(TurbineHover, CL_TURBINE_HOVER);
@@ -176,15 +173,15 @@
 
 
-  //add events to the eventlist
-  registerEvent(KeyMapper::PEV_FORWARD);
-  registerEvent(KeyMapper::PEV_BACKWARD);
-  registerEvent(KeyMapper::PEV_LEFT);
-  registerEvent(KeyMapper::PEV_RIGHT);
-  registerEvent(KeyMapper::PEV_UP);
-  registerEvent(KeyMapper::PEV_DOWN);
-  registerEvent(KeyMapper::PEV_FIRE1);
-  registerEvent(KeyMapper::PEV_NEXT_WEAPON);
-  registerEvent(KeyMapper::PEV_PREVIOUS_WEAPON);
-  registerEvent(EV_MOUSE_MOTION);
+  //add events to the eventlist of the Playable
+  this->registerEvent(KeyMapper::PEV_FORWARD);
+  this->registerEvent(KeyMapper::PEV_BACKWARD);
+  this->registerEvent(KeyMapper::PEV_LEFT);
+  this->registerEvent(KeyMapper::PEV_RIGHT);
+  this->registerEvent(KeyMapper::PEV_UP);
+  this->registerEvent(KeyMapper::PEV_DOWN);
+  this->registerEvent(KeyMapper::PEV_FIRE1);
+  this->registerEvent(KeyMapper::PEV_NEXT_WEAPON);
+  this->registerEvent(KeyMapper::PEV_PREVIOUS_WEAPON);
+  this->registerEvent(EV_MOUSE_MOTION);
 
   dynamic_cast<Element2D*>(this->getWeaponManager().getFixedTarget())->setVisibility( false);
Index: trunk/src/world_entities/weapons/crosshair.cc
===================================================================
--- trunk/src/world_entities/weapons/crosshair.cc	(revision 7840)
+++ trunk/src/world_entities/weapons/crosshair.cc	(revision 7868)
@@ -17,5 +17,4 @@
 
 #include "crosshair.h"
-#include "event_handler.h"
 
 #include "util/loading/load_param.h"
@@ -65,5 +64,5 @@
   this->material = new Material;
 
-  //EventHandler::getInstance()->subscribe(this, ES_GAME, EV_MOUSE_MOTION);
+  //this->subscribeEvent(ES_GAME, EV_MOUSE_MOTION);
 
   // center the mouse on the screen, and also hide the cursors
