Index: /trunk/src/lib/shell/shell_command.h
===================================================================
--- /trunk/src/lib/shell/shell_command.h	(revision 7367)
+++ /trunk/src/lib/shell/shell_command.h	(revision 7368)
@@ -82,7 +82,4 @@
     static const char* paramToString(long parameter);
 
-  protected:
-    MultiType*                       defaultValue;                         //!< Default Values.
-
   private:
     ShellCommandClass*               shellClass;                           //!< A Pointer to the Shell-Class this Command belongs to.
Index: /trunk/src/story_entities/game_world.cc
===================================================================
--- /trunk/src/story_entities/game_world.cc	(revision 7367)
+++ /trunk/src/story_entities/game_world.cc	(revision 7368)
@@ -23,10 +23,7 @@
 #include "state.h"
 #include "class_list.h"
-#include "substring.h"
 
 #include "util/loading/game_loader.h"
 
-#include "p_node.h"
-#include "world_entity.h"
 #include "player.h"
 #include "camera.h"
@@ -35,7 +32,4 @@
 #include "test_entity.h"
 #include "terrain.h"
-#include "md2Model.h"
-#include "world_entities/projectiles/projectile.h"
-#include "npcs/npc_test1.h"
 #include "playable.h"
 
@@ -43,6 +37,6 @@
 
 #include "util/loading/factory.h"
+#include "util/loading/load_param.h"
 #include "fast_factory.h"
-#include "util/loading/load_param.h"
 #include "shell_command.h"
 
Index: /trunk/src/story_entities/game_world.h
===================================================================
--- /trunk/src/story_entities/game_world.h	(revision 7367)
+++ /trunk/src/story_entities/game_world.h	(revision 7368)
@@ -28,5 +28,4 @@
 class GameWorld : public StoryEntity
 {
-
   public:
     GameWorld ();
Index: /trunk/src/story_entities/game_world_data.h
===================================================================
--- /trunk/src/story_entities/game_world_data.h	(revision 7367)
+++ /trunk/src/story_entities/game_world_data.h	(revision 7368)
@@ -10,5 +10,5 @@
 #include "data_tank.h"
 #include "error.h"
-
+#include "object_manager.h"
 
 class Camera;
@@ -16,5 +16,4 @@
 class Terrain;
 class WorldEntity;
-class ObjectManager;
 
 class GLMenuImageScreen;
@@ -32,5 +31,4 @@
 class GameWorldData : public DataTank
 {
-
   public:
     GameWorldData();
@@ -55,15 +53,18 @@
 
   public:
-    GLMenuImageScreen*  glmis;                       //!< The Level-Loader Display
+    GLMenuImageScreen*            glmis;          //!< The Level-Loader Display
 
-    Camera*             localCamera;                 //!< The current camera
-    Player*             localPlayer;                 //!< The player, you fly through the level.
-    WorldEntity*        sky;                         //!< The environmental sky of orxonox
-    Terrain*            terrain;                     //!< The terrain - ground
+    Camera*                       localCamera;    //!< The current camera
+    Player*                       localPlayer;    //!< The player, you fly through the level.
+    WorldEntity*                  sky;            //!< The environmental sky of orxonox
+    Terrain*                      terrain;        //!< The terrain - ground
 
-    OggPlayer*          music;                       //!< Reference to the SoundEngine's music player (OggPlayer)
-    ObjectManager*      objectManager;               //!< Reference to the objects manager
+    OggPlayer*                    music;          //!< Reference to the SoundEngine's music player (OggPlayer)
+    ObjectManager*                objectManager;  //!< Reference to the objects manager
 
-    GameRules*          gameRule;                   //!< Reference to the game rules of this game
+    GameRules*                    gameRule;       //!< Reference to the game rules of this game
+
+    std::list<OM_LIST>            tickLists;      //!< The Lists in the GameWorld that should be ticked.
+    std::list<OM_LIST>            drawLists;      //!< The Lists in the GameWorld, that should be drawn.
 };
 
Index: /trunk/src/util/object_manager.cc
===================================================================
--- /trunk/src/util/object_manager.cc	(revision 7367)
+++ /trunk/src/util/object_manager.cc	(revision 7368)
@@ -105,20 +105,17 @@
 
 /**
- * returns a new List with a list of WorldEntities of distance Radius from center
- */
-std::list<WorldEntity*>* ObjectManager::distanceFromObject(const PNode& center, float radius, ClassID classID)
+ * @returns a new List with a list of WorldEntities of distance Radius from center
+ */
+void ObjectManager::distanceFromObject(EntityList& entities, const PNode& center, float radius, ClassID classID)
 {
   const std::list<BaseObject*>* objectList = ClassList::getList(classID);
   if (objectList != NULL)
   {
-    std::list<WorldEntity*>* newList = new std::list<WorldEntity*>;
 
     list<BaseObject*>::const_iterator node;
     for (node = objectList->begin(); node != objectList->end(); node++)
       if ((dynamic_cast<PNode*>(*node)->getAbsCoor() - center.getAbsCoor()).len() < radius)
-        newList->push_back(dynamic_cast<WorldEntity*>(*node));
-    return newList;
-  }
-  return NULL;
+        entities.push_back(dynamic_cast<WorldEntity*>(*node));
+  }
 }
 
Index: /trunk/src/util/object_manager.h
===================================================================
--- /trunk/src/util/object_manager.h	(revision 7367)
+++ /trunk/src/util/object_manager.h	(revision 7368)
@@ -67,9 +67,11 @@
 
 //! A powerfull handler for the Object (WorldEntities) in the World.
-class ObjectManager : public BaseObject {
+class ObjectManager : public BaseObject
+{
+public:
+  typedef std::list<WorldEntity*> EntityList;      //!< A type definition to make it easy to use EntityLists.
 
- public:
-   ObjectManager();
-   virtual ~ObjectManager();
+  ObjectManager();
+  virtual ~ObjectManager();
 
   void flush();
@@ -79,8 +81,10 @@
 
 
-  std::list<WorldEntity*>& getObjectList(OM_LIST listNumber) { return this->objectLists[listNumber]; }
-  const std::list<WorldEntity*>& getObjectList(OM_LIST listNumber) const { return this->objectLists[listNumber]; }
+  /** @returns the List (listnumber) of objects. @param listNumber the List to get. */
+  EntityList& getObjectList(OM_LIST listNumber) { return this->objectLists[listNumber]; }
+  /** @returns a constant LIST of Objects. @param listNumber the objectList to returns */
+  const EntityList& getObjectList(OM_LIST listNumber) const { return this->objectLists[listNumber]; }
 
-  static std::list<WorldEntity*>* distanceFromObject(const PNode& center, float radius, ClassID classID);
+  static void distanceFromObject(EntityList& entities, const PNode& center, float radius, ClassID classID);
 
   void debug(OM_LIST omList, unsigned int level = 0) const;
@@ -90,9 +94,8 @@
   static const char* OMListToString(OM_LIST omList);
 
- private:
-  const std::list<BaseObject>*            pNodeList;
+private:
+  const std::list<BaseObject>*            pNodeList;                //!< The List of PNodes.
 
-
-  std::list<WorldEntity*>                 objectLists[OM_SIZE];
+  EntityList                              objectLists[OM_SIZE];     //!< The ObjectLists.
 
   static const char*                      objectManagerListNames[]; //!< Names of all the lists
Index: /trunk/src/world_entities/projectiles/bomb.cc
===================================================================
--- /trunk/src/world_entities/projectiles/bomb.cc	(revision 7367)
+++ /trunk/src/world_entities/projectiles/bomb.cc	(revision 7368)
@@ -183,13 +183,10 @@
 void Bomb::detonate(float size)
 {
-  std::list<WorldEntity*>* detonationList = ObjectManager::distanceFromObject(*this, size, CL_NPC);
-  if (detonationList != NULL)
-  {
-    while( !detonationList->empty() )
+  ObjectManager::EntityList detonationList;
+  ObjectManager::distanceFromObject(detonationList, *this, size, CL_NPC);
+    while( !detonationList.empty() )
     {
-      detonationList->front()->collidesWith(this, Vector(0,0,0));
-      detonationList->pop_front();
+      detonationList.front()->collidesWith(this, Vector(0,0,0));
+      detonationList.pop_front();
     }
-    delete detonationList;
-  }
 }
