Index: code/trunk/src/modules/notifications/Notification.h
===================================================================
--- code/trunk/src/modules/notifications/Notification.h	(revision 7551)
+++ code/trunk/src/modules/notifications/Notification.h	(revision 7552)
@@ -49,6 +49,9 @@
 
         A Notification is just a datastructure that is used internally by the Notifications module.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Notifications
     */
     class _NotificationsExport Notification : public OrxonoxClass
Index: code/trunk/src/modules/notifications/NotificationDispatcher.cc
===================================================================
--- code/trunk/src/modules/notifications/NotificationDispatcher.cc	(revision 7551)
+++ code/trunk/src/modules/notifications/NotificationDispatcher.cc	(revision 7552)
@@ -118,5 +118,4 @@
         else if(GameMode::isServer())
         {
-            //TODO: This may fail if the object has not been synchronized, yet.
             callMemberNetworkFunction(NotificationDispatcher, dispatch, this->getObjectID(), clientId, clientId);
         }
Index: code/trunk/src/modules/notifications/NotificationDispatcher.h
===================================================================
--- code/trunk/src/modules/notifications/NotificationDispatcher.h	(revision 7551)
+++ code/trunk/src/modules/notifications/NotificationDispatcher.h	(revision 7552)
@@ -39,4 +39,5 @@
 
 #include <string>
+
 #include "core/BaseObject.h"
 #include "network/synchronisable/Synchronisable.h"
@@ -62,6 +63,9 @@
         @endcode
         But keep in mind, that NotificationDispatcher is an abstract class and in this example @ref orxonox::PlayerTrigger "PlayerTrigger" stands for any event that is caused by a @ref orxonox::PlayerTrigger "PlayerTrigger", so instead of @ref orxonox::PlayerTrigger "PlayerTrigger", there could be a @ref orxonox::DistanceTrigger "DistanceTrigger", or a @ref orxonox::DistanceMultiTrigger "DistanceMutliTrigger", or even an @ref orxonox::EventListener "EventListener" that waits for an event coming from any kind of @ref orxonox::PlayerTrigger "PlayerTrigger".
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Notifications
     */
     class _NotificationsExport NotificationDispatcher : public BaseObject, public Synchronisable
Index: code/trunk/src/modules/notifications/NotificationManager.cc
===================================================================
--- code/trunk/src/modules/notifications/NotificationManager.cc	(revision 7551)
+++ code/trunk/src/modules/notifications/NotificationManager.cc	(revision 7552)
@@ -149,5 +149,5 @@
         assert(notification);
 
-        std::time_t time = std::time(0); //TODO: Doesn't this expire? //!< Get current time.
+        std::time_t time = std::time(0); // Get current time.
 
         // Add the Notification to the list that holds all Notifications.
Index: code/trunk/src/modules/notifications/NotificationManager.h
===================================================================
--- code/trunk/src/modules/notifications/NotificationManager.h	(revision 7551)
+++ code/trunk/src/modules/notifications/NotificationManager.h	(revision 7552)
@@ -53,6 +53,9 @@
         It receives, organizes @ref orxonox::Notification "Notifications" and the redistributes them to the specific @ref orxonox::NotificationListener "NotificationListeners".
         It also provides a static function to send @ref orxonox::Notification "Notifications" and works as a liaison between the @ref orxonox::NotificationQueue "NotificationQueues" and the GUI that displays notification, called NotificationLayer.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Notifications
     */
     class _NotificationsExport NotificationManager // tolua_export
Index: code/trunk/src/modules/notifications/NotificationQueue.h
===================================================================
--- code/trunk/src/modules/notifications/NotificationQueue.h	(revision 7551)
+++ code/trunk/src/modules/notifications/NotificationQueue.h	(revision 7552)
@@ -51,5 +51,10 @@
 { // tolua_export
 
-    //! Container to allow easy handling.
+    /**
+    @brief
+        Container to allow easy handling of the @ref orxonox::Notification "Notifications".
+
+    @ingroup Notifications
+    */
     struct NotificationContainer
     {
@@ -58,5 +63,10 @@
     };
 
-    //! Struct to allow ordering of @ref orxonox::NotificationContainer "NotificationContainers".
+    /**
+    @brief
+        Struct to allow ordering of @ref orxonox::NotificationContainer "NotificationContainers".
+
+    @ingroup Notifications
+    */
     struct NotificationContainerCompare {
         bool operator() (const NotificationContainer* const & a, const NotificationContainer* const & b) const
@@ -76,4 +86,6 @@
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Notifications
     */
     class _NotificationsExport NotificationQueue // tolua_export
Index: code/trunk/src/modules/notifications/dispatchers/CommandNotification.h
===================================================================
--- code/trunk/src/modules/notifications/dispatchers/CommandNotification.h	(revision 7551)
+++ code/trunk/src/modules/notifications/dispatchers/CommandNotification.h	(revision 7552)
@@ -60,6 +60,9 @@
         Upon being triggered this would display the @ref orxonox::Notification "Notification" "Please press {the binding of the specified command} to do something".
         For more information on what can be used for @code <PlayerTrigger /> @endcode see the @ref orxonox::NotificationDispatcher "NotificationDispatcher" documentation.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup NotificationDispatchers
     */
     class _NotificationsExport CommandNotification : public NotificationDispatcher
Index: code/trunk/src/modules/notifications/dispatchers/SimpleNotification.h
===================================================================
--- code/trunk/src/modules/notifications/dispatchers/SimpleNotification.h	(revision 7551)
+++ code/trunk/src/modules/notifications/dispatchers/SimpleNotification.h	(revision 7552)
@@ -58,6 +58,9 @@
         @endcode
         For more information on what can be used for @code <PlayerTrigger /> @endcode see the @ref orxonox::NotificationDispatcher "NotificationDispatcher" documentation.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup NotificationDispatchers
     */
     class _NotificationsExport SimpleNotification : public NotificationDispatcher
Index: code/trunk/src/modules/questsystem/GlobalQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/GlobalQuest.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/GlobalQuest.cc	(revision 7552)
@@ -135,6 +135,4 @@
     @return
         Returns true if the quest can be started, false if not.
-    @throws
-        Throws an exception if either isInactive() of isActive() throws one.
     */
     bool GlobalQuest::isStartable(const PlayerInfo* player) const
@@ -153,6 +151,4 @@
     @return
         Returns true if the Quest can be failed, false if not.
-    @throws
-        Throws an Exception if isActive() throws one.
     */
     bool GlobalQuest::isFailable(const PlayerInfo* player) const
@@ -169,6 +165,4 @@
     @return
         Returns true if the Quest can be completed, false if not.
-    @throws
-        Throws an Exception if isActive() throws one.
     */
     bool GlobalQuest::isCompletable(const PlayerInfo* player) const
@@ -182,12 +176,8 @@
     @param player
         The player.
-    @throws
-        Throws an Exception if player is NULL.
     */
     QuestStatus::Value GlobalQuest::getStatus(const PlayerInfo* player) const
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // We don't want NULL-Pointers!
-            ThrowException(Argument, "The input PlayerInfo* is NULL.");
+        assert(player);
 
         // Find the player.
@@ -212,7 +202,5 @@
     bool GlobalQuest::setStatus(PlayerInfo* player, const QuestStatus::Value & status)
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // We don't want NULL-Pointers!
-            return false;
+        assert(player);
 
         // Find the player.
@@ -235,10 +223,5 @@
     bool GlobalQuest::addRewardEffect(QuestEffect* effect)
     {
-        //TODO: Replace with assert?
-        if(effect == NULL) // We don't want NULL-Pointers!
-        {
-            COUT(2) << "The reward effect to be added to quest {" << this->getId() << "} was NULL." << std::endl;
-            return false;
-        }
+        assert(effect);
 
         this->rewards_.push_back(effect); // Add the QuestEffect to the list.
Index: code/trunk/src/modules/questsystem/GlobalQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/GlobalQuest.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/GlobalQuest.h	(revision 7552)
@@ -44,4 +44,5 @@
 namespace orxonox
 {
+
     /**
     @brief
@@ -80,6 +81,9 @@
         </GlobalQuest>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport GlobalQuest : public Quest
Index: code/trunk/src/modules/questsystem/LocalQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/LocalQuest.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/LocalQuest.cc	(revision 7552)
@@ -125,6 +125,4 @@
     @return
         Returns true if the Quest can be started, false if not.
-    @throws
-        Throws an exception if isInactive(PlayerInfo*) throws one.
     */
     bool LocalQuest::isStartable(const PlayerInfo* player) const
@@ -143,6 +141,4 @@
     @return
         Returns true if the Quest can be failed, false if not.
-    @throws
-        Throws an exception if isActive(PlayerInfo*) throws one.
     */
     bool LocalQuest::isFailable(const PlayerInfo* player) const
@@ -158,6 +154,4 @@
     @return
         Returns true if the Quest can be completed, false if not.
-    @throws
-        Throws an exception if isInactive(PlayerInfo*) throws one.
     */
     bool LocalQuest::isCompletable(const PlayerInfo* player) const
@@ -173,12 +167,8 @@
     @return
         Returns the status of the Quest for the input player.
-    @throws
-        Throws an Exception if player is NULL.
     */
     QuestStatus::Value LocalQuest::getStatus(const PlayerInfo* player) const
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // No player has no defined status.
-            ThrowException(Argument, "The input PlayerInfo* is NULL.");
+        assert(player);
 
         std::map<const PlayerInfo*, QuestStatus::Value>::const_iterator it = this->playerStatus_.find(player);
@@ -202,7 +192,5 @@
     bool LocalQuest::setStatus(PlayerInfo* player, const QuestStatus::Value & status)
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // We can't set a status for no player.
-            return false;
+        assert(player);
 
         this->playerStatus_[player] = status;
Index: code/trunk/src/modules/questsystem/LocalQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/LocalQuest.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/LocalQuest.h	(revision 7552)
@@ -43,4 +43,5 @@
 namespace orxonox
 {
+
     /**
     @brief
@@ -74,6 +75,9 @@
         </LocalQuest>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport LocalQuest : public Quest
Index: code/trunk/src/modules/questsystem/Quest.cc
===================================================================
--- code/trunk/src/modules/questsystem/Quest.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/Quest.cc	(revision 7552)
@@ -92,10 +92,5 @@
     bool Quest::setParentQuest(Quest* quest)
     {
-        //TODO: Replace with assert.
-        if(quest == NULL) // We don't want to set NULL-Pointers.
-        {
-            COUT(2) << "The parentquest to be added to quest {" << this->getId() << "} was NULL." << std::endl;
-            return false;
-        }
+        assert(quest);
 
         this->parentQuest_ = quest;
@@ -115,10 +110,5 @@
     bool Quest::addSubQuest(Quest* quest)
     {
-        //TODO: Replace with assert.
-        if(quest == NULL) // We don't want to set NULL-Pointers.
-        {
-            COUT(2) << "The subquest to be added to quest {" << this->getId() << "} was NULL." << std::endl;
-            return false;
-        }
+        assert(quest);
 
         quest->setParentQuest(this); // Sets the currentQuest (this) as parent-quest for the added sub-quest.
@@ -140,10 +130,5 @@
     bool Quest::addHint(QuestHint* hint)
     {
-        //TODO: Replace with assert.
-        if(hint == NULL) // We don't want to set NULL-Pointers. Seriously!
-        {
-            COUT(2) << "A NULL-QuestHint was trying to be added." << std::endl;
-            return false;
-        }
+        assert(hint);
 
         hint->setQuest(this); // Sets the current Quest (this) as Quest for the added QuestHint.
@@ -164,10 +149,5 @@
     bool Quest::addFailEffect(QuestEffect* effect)
     {
-        //TODO: Replace with assert.
-        if(effect == NULL) // We don't want to set NULL-Pointers.
-        {
-            COUT(2) << "A NULL-QuestEffect was trying to be added" << std::endl;
-            return false;
-        }
+        assert(effect);
 
         this->failEffects_.push_back(effect); // Adds the QuestEffect to the end of the list of fail QuestEffects.
@@ -187,10 +167,5 @@
     bool Quest::addCompleteEffect(QuestEffect* effect)
     {
-        //TODO: Replace with assert.
-        if(effect == NULL) // We don't want to set NULL-Pointers.
-        {
-            COUT(2) << "A NULL-QuestEffect was trying to be added" << std::endl;
-            return false;
-        }
+        assert(effect);
 
         this->completeEffects_.push_back(effect); // Adds the QuestEffect to the end of the list of complete QuestEffects.
@@ -300,9 +275,9 @@
     @return
         Returns true if the quest status for the specific player is 'inactive'.
-    @throws
-        Throws an exception if getStatus throws one.
     */
     bool Quest::isInactive(const PlayerInfo* player) const
     {
+        if(player == NULL)
+            return true;
         return this->getStatus(player) == QuestStatus::Inactive;
     }
@@ -315,9 +290,9 @@
     @return
         Returns true if the quest status for the specific player is 'active'.
-    @throws
-        Throws an exception if getStatus throws one.
     */
     bool Quest::isActive(const PlayerInfo* player) const
     {
+        if(player == NULL)
+            return false;
         return this->getStatus(player) == QuestStatus::Active;
     }
@@ -330,9 +305,9 @@
     @return
         Returns true if the quest status for the specific player is 'failed'.
-    @throws
-        Throws an exception if getStatus throws one.
     */
     bool Quest::isFailed(const PlayerInfo* player) const
     {
+        if(player == NULL)
+            return false;
         return this->getStatus(player) == QuestStatus::Failed;
     }
@@ -345,9 +320,9 @@
     @return
         Returns true if the quest status for the specific player is 'completed'.
-    @throws
-        Throws an exception if getStatus throws one.
     */
     bool Quest::isCompleted(const PlayerInfo* player) const
     {
+        if(player == NULL)
+            return false;
         return this->getStatus(player) == QuestStatus::Completed;
     }
@@ -427,10 +402,5 @@
     bool Quest::addListener(QuestListener* listener)
     {
-        //TODO: Replace with assert?
-        if(listener == NULL)
-        {
-            COUT(2) << "A NULL-QuestListener was trying to be added to a Quests listeners." << std::endl;
-            return false;
-        }
+        assert(listener);
 
         this->listeners_.push_back(listener);
Index: code/trunk/src/modules/questsystem/Quest.h
===================================================================
--- code/trunk/src/modules/questsystem/Quest.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/Quest.h	(revision 7552)
@@ -44,13 +44,19 @@
 namespace orxonox // tolua_export
 { // tolua_export
+
+    /**
+    @brief
+        Different states of a @ref orxonox::Quest "Quest".
+
+    @ingroup Questsystem
+    */
     namespace QuestStatus
     {
-        //! Different states of a @ref orxonox::Quest "Quest".
         enum Value
         {
-            Inactive,
-            Active,
-            Failed,
-            Completed
+            Inactive, //!< The @ref orxonox::Quest "Quest" is inactive.
+            Active, //!< The @ref orxonox::Quest "Quest" is active.
+            Failed, //!< The @ref orxonox::Quest "Quest" has been failed.
+            Completed //!< The @ref orxonox::Quest "Quest" has been completed.
         };
     }
@@ -66,6 +72,9 @@
 
         Quest itself should not be instantiated, if you want to create a quest either use LocalQuest or GlobalQuest, whichever suits you needs better.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport Quest // tolua_export
Index: code/trunk/src/modules/questsystem/QuestDescription.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestDescription.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestDescription.h	(revision 7552)
@@ -44,4 +44,5 @@
 namespace orxonox
 {
+
     /**
     @brief
@@ -53,6 +54,9 @@
         <QuestDescription title="Title" description="Description Text" failMessage="You fail." completeMessage="You win!" />
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestDescription : public BaseObject
Index: code/trunk/src/modules/questsystem/QuestEffect.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestEffect.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestEffect.h	(revision 7552)
@@ -43,10 +43,14 @@
 namespace orxonox
 {
+
     /**
     @brief
         Handles QuestEffects for @ref orxonox::Quest "Quests".
         QuestEffects are one of the ways for @ref orxonox::Quest "Quests" to have any side effects on the game world and for the game world to influence the @ref orxonox::Quest "Quests".
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestEffect : public BaseObject
Index: code/trunk/src/modules/questsystem/QuestEffectBeacon.cc
===================================================================
--- code/trunk/src/modules/questsystem/QuestEffectBeacon.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestEffectBeacon.cc	(revision 7552)
@@ -41,5 +41,4 @@
 #include "worldentities/pawns/Pawn.h"
 
-#include "objects/triggers/MultiTriggerContainer.h"
 #include "QuestEffect.h"
 
@@ -101,5 +100,4 @@
         Returns true if successfully executed, false if not.
     */
-    //TODO: Eliminate MultiTriggerContainer stuff, since they are now PlayerTriggers as well.
     bool QuestEffectBeacon::execute(bool bTriggered, BaseObject* trigger)
     {
@@ -115,10 +113,5 @@
 
         PlayerTrigger* pTrigger = orxonox_cast<PlayerTrigger*>(trigger);
-        MultiTriggerContainer* mTrigger = orxonox_cast<MultiTriggerContainer*>(trigger);
         Pawn* pawn = NULL;
-
-        // If the trigger is neither a Playertrigger nor a MultiTrigger (i.e. a MultitriggerContainer) we can do anything with it.
-        if(pTrigger == NULL && mTrigger == NULL)
-            return false;
 
         // If the trigger is a PlayerTrigger.
@@ -130,10 +123,6 @@
                 pawn = pTrigger->getTriggeringPlayer();
         }
-
-        // If the trigger is a MultiTrigger (i.e. a MultiTriggerContainer)
-        if(mTrigger != NULL)
-        {
-            pawn = orxonox_cast<Pawn*>(mTrigger->getData());
-        }
+        else
+            return false;
 
         if(pawn == NULL)
@@ -237,10 +226,5 @@
     bool QuestEffectBeacon::addEffect(QuestEffect* effect)
     {
-        //TODO: Replace with assert.
-        if(effect == NULL) // NULL-pointers are not well liked here...
-        {
-            COUT(2) << "A NULL-QuestEffect was trying to be added" << std::endl;
-            return false;
-        }
+        assert(effect);
 
         this->effects_.push_back(effect);
Index: code/trunk/src/modules/questsystem/QuestEffectBeacon.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestEffectBeacon.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestEffectBeacon.h	(revision 7552)
@@ -43,11 +43,17 @@
 namespace orxonox
 {
+
+    /**
+    @brief
+        The status of the @ref orxonox::QuestEffectBeacon "QuestEffectBeacon", can be either active or inactive.
+
+    @ingroup Questsystem
+    */
     namespace QuestEffectBeaconStatus
     {
-        //! The status of the @ref orxonox::QuestEffectBeacon "QuestEffectBeacon", can be either active or inactive.
         enum Value
         {
-            Inactive,
-            Active
+            Inactive, //!< The @ref orxonox::QuestEffectBeacon "QuestEffectBeacon" is inactive.
+            Active //!< The @ref orxonox::QuestEffectBeacon "QuestEffectBeacon" is active.
         };
     }
@@ -78,6 +84,9 @@
         </QuestEffectBeacon>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestEffectBeacon : public StaticEntity
Index: code/trunk/src/modules/questsystem/QuestHint.cc
===================================================================
--- code/trunk/src/modules/questsystem/QuestHint.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestHint.cc	(revision 7552)
@@ -83,6 +83,4 @@
     @param player
         The player.
-    @throws
-        Throws an Argument Exception if the input Player-pointer is NULL.
     @return
         Returns true if the QuestHint is active for the specified player.
@@ -90,10 +88,6 @@
     bool QuestHint::isActive(const PlayerInfo* player) const
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // NULL-Pointers are ugly!
-        {
-            ThrowException(Argument, "The input PlayerInfo* is NULL.");
+        if(player == NULL) // If the player is NULL, the Quest obviously can't be active.
             return false;
-        }
 
         // Find the player.
@@ -145,10 +139,5 @@
     bool QuestHint::setQuest(Quest* quest)
     {
-        //TODO: Replace with assert.
-        if(quest == NULL) // NULL-Pointer. Again..?
-        {
-            COUT(2) << "The input Quest* is NULL." << std::endl;
-            return false;
-        }
+        assert(quest);
 
         this->quest_ = quest;
Index: code/trunk/src/modules/questsystem/QuestHint.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestHint.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestHint.h	(revision 7552)
@@ -44,11 +44,16 @@
 { // tolua_export
 
+    /**
+    @brief
+        The state of the @ref orxonox::QuestHint "QuestHint".
+
+    @ingroup Questsystem
+    */
     namespace QuestHintStatus
     {
-        //! The state of the @ref orxonox::QuestHint "QuestHint".
         enum Value
         {
-            Inactive,
-            Active
+            Inactive, //!< The @ref orxonox::QuestHint "QuestHint" is inactive.
+            Active //!< The @ref orxonox::QuestHint "QuestHint" is active.
         };
     }
@@ -66,6 +71,9 @@
         </QuestHint>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestHint // tolua_export
Index: code/trunk/src/modules/questsystem/QuestItem.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestItem.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestItem.h	(revision 7552)
@@ -50,6 +50,9 @@
         Functions as a base class for quest classes such as @ref orxonox::Quest "Quest" or @ref orxonox::QuestHint "QuestHint".
         Has a unique identifier and a @ref orxonox::QuestDescription "QuestDescription".
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestItem : public BaseObject
Index: code/trunk/src/modules/questsystem/QuestListener.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestListener.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestListener.h	(revision 7552)
@@ -44,13 +44,18 @@
 namespace orxonox
 {
+    /**
+    @brief
+        The mode of the @ref orxonox::QuestListener "QuestListener".
+
+    @ingroup Questsystem
+    */
     namespace QuestListenerMode
     {
-        //! The mode of the @ref orxonox::QuestListener "QuestListener".
         enum Value
         {
-            All,
-            Start,
-            Fail,
-            Complete
+            All, //!< Listens to all events.
+            Start, //!< Only listens to events pertaining the starting of @ref orxonox::Quest "Quests".
+            Fail, //!< Only listens to events pertaining the failing of @ref orxonox::Quest "Quests".
+            Complete //!< Only listens to events pertaining the completing of @ref orxonox::Quest "Quests".
         };
     }
@@ -72,6 +77,9 @@
 
         You can use the QuestListener as if it were a @ref orxonox::Trigger "Trigger" or @ref orxonox::EventListener "EventListener", that fires an Event when the status (depending on the set mode) of the given @ref orxonox::Quest "Quest" changes.
+
     @author
-    Damian 'Mozork' Frick
+        Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestListener : public BaseObject
Index: code/trunk/src/modules/questsystem/QuestManager.cc
===================================================================
--- code/trunk/src/modules/questsystem/QuestManager.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestManager.cc	(revision 7552)
@@ -100,10 +100,5 @@
     bool QuestManager::registerQuest(Quest* quest)
     {
-        //TODO: Replace with assert.
-        if(quest == NULL) // Doh! Just as if there were actual quests behind NULL-pointers.
-        {
-            COUT(2) << "Registration of Quest in QuestManager failed, because inserted Quest-pointer was NULL." << std::endl;
-            return false;
-        }
+        assert(quest);
 
         std::pair<std::map<std::string, Quest*>::iterator,bool> result;
@@ -143,10 +138,5 @@
     bool QuestManager::registerHint(QuestHint* hint)
     {
-        //TODO: Replace with assert.
-        if(hint == NULL) // Still not liking NULL-pointers.
-        {
-            COUT(2) << "Registration of QuestHint in QuestManager failed, because inserted QuestHint-pointer was NULL." << std::endl;
-            return false;
-        }
+        assert(hint);
 
         std::pair<std::map<std::string, QuestHint*>::iterator,bool> result;
Index: code/trunk/src/modules/questsystem/QuestManager.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestManager.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/QuestManager.h	(revision 7552)
@@ -47,10 +47,14 @@
 namespace orxonox  // tolua_export
 {  // tolua_export
+
     /**
     @brief
         Is a Singleton and manages @ref orxonox::Quest "Quests", by registering every @ref orxonox::Quest "Quest" / @ref orxonox::QuestHint "QuestHint" (through registerX()) and making them globally accessible (through findX()).
         @ref orxonox::Quest "Quests" (and @ref orxonox::QuestHint "QuestHints") are registered in the QuestManager with their id, and can be accessed in the same way.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestManager  // tolua_export
Index: code/trunk/src/modules/questsystem/effects/AddQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddQuest.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/AddQuest.cc	(revision 7552)
@@ -83,10 +83,5 @@
     bool AddQuest::invoke(PlayerInfo* player)
     {
-        //TODO: Replace with assert?
-        if(player == NULL) // Null-pointers are badass.
-        {
-            COUT(2) << "Input player is NULL." << std::endl;
-            return false;
-        }
+        assert(player);
 
         COUT(5) << "AddQuest on player: " << player << " ." << std::endl;
Index: code/trunk/src/modules/questsystem/effects/AddQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddQuest.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/AddQuest.h	(revision 7552)
@@ -41,4 +41,5 @@
 namespace orxonox
 {
+
     /**
     @brief
@@ -49,6 +50,9 @@
         <AddQuest questId="id" />  //Where id identifies the Quest that should be added.
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport AddQuest : public ChangeQuestStatus
Index: code/trunk/src/modules/questsystem/effects/AddQuestHint.cc
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddQuestHint.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/AddQuestHint.cc	(revision 7552)
@@ -106,10 +106,5 @@
     bool AddQuestHint::invoke(PlayerInfo* player)
     {
-        //TODO: Replace with assert?
-        if(player == NULL) // NULL-pointers are evil!
-        {
-            COUT(2) << "The input player is NULL." << std::endl;
-            return false;
-        }
+        assert(player);
 
         COUT(5) << "AddQuestHint on player: " << player << " ." << std::endl;
Index: code/trunk/src/modules/questsystem/effects/AddQuestHint.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddQuestHint.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/AddQuestHint.h	(revision 7552)
@@ -43,4 +43,5 @@
 namespace orxonox
 {
+
     /**
     @brief
@@ -51,6 +52,9 @@
         <AddQuestHint hintId="id" />  //Where id identifies the QuestHint that should be added.
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport AddQuestHint : public QuestEffect
Index: code/trunk/src/modules/questsystem/effects/AddReward.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddReward.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/AddReward.h	(revision 7552)
@@ -43,4 +43,5 @@
 namespace orxonox
 {
+    
     /**
     @brief
@@ -55,6 +56,9 @@
         </AddReward>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport AddReward : public QuestEffect
Index: code/trunk/src/modules/questsystem/effects/ChangeQuestStatus.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/ChangeQuestStatus.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/ChangeQuestStatus.h	(revision 7552)
@@ -43,9 +43,13 @@
 namespace orxonox
 {
+
     /**
     @brief
         A QuestEffect which changes the status of a specified @ref orxonox::Quest "Quest" for the player invoking the QuestEffect.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport ChangeQuestStatus : public QuestEffect
Index: code/trunk/src/modules/questsystem/effects/CompleteQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/effects/CompleteQuest.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/CompleteQuest.cc	(revision 7552)
@@ -83,10 +83,5 @@
     bool CompleteQuest::invoke(PlayerInfo* player)
     {
-        //TODO: Replace with assert?
-        if(player == NULL) // You know, what we think of NULL-pointers...
-        {
-            COUT(2) << "Input player is NULL." << std::endl;
-            return false;
-        }
+        assert(player);
 
         COUT(5) << "CompleteQuest on player: " << player << " ." << std::endl;
Index: code/trunk/src/modules/questsystem/effects/CompleteQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/CompleteQuest.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/CompleteQuest.h	(revision 7552)
@@ -41,4 +41,5 @@
 namespace orxonox
 {
+
     /**
     @brief
@@ -49,6 +50,9 @@
         <CompleteQuest questId="id" />  //Where id identifies the Quest that should be completed.
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport CompleteQuest : public ChangeQuestStatus
Index: code/trunk/src/modules/questsystem/effects/FailQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/effects/FailQuest.cc	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/FailQuest.cc	(revision 7552)
@@ -83,10 +83,5 @@
     bool FailQuest::invoke(PlayerInfo* player)
     {
-        //TODO: Replace with assert?
-        if(player == NULL) // We don't know what to do with no player.
-        {
-            COUT(2) << "Input player is NULL." << std::endl;
-            return false;
-        }
+        assert(player);
 
         COUT(4) << "FailQuest on player: " << player << " ." << std::endl;
Index: code/trunk/src/modules/questsystem/effects/FailQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/FailQuest.h	(revision 7551)
+++ code/trunk/src/modules/questsystem/effects/FailQuest.h	(revision 7552)
@@ -41,4 +41,5 @@
 namespace orxonox
 {
+
     /**
     @brief
@@ -49,6 +50,9 @@
         <FailQuest questId="id" />  //Where id identifies the Quest that should be failed.
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport FailQuest : public ChangeQuestStatus
Index: code/trunk/src/orxonox/interfaces/NotificationListener.h
===================================================================
--- code/trunk/src/orxonox/interfaces/NotificationListener.h	(revision 7551)
+++ code/trunk/src/orxonox/interfaces/NotificationListener.h	(revision 7552)
@@ -56,8 +56,10 @@
         The NotificationListener interface presents a means to being informed when @ref orxonox::Notification "Notifications" in the target set of this NotificationListener change. (e.g. @ref orxonox::Notification "Notifications" were added or removed)
         When inheriting from a NotificationListener it is important to register (in the constructor) and unregister (in the destructor) it to and from the @ref orxonox::NotificationManager "NotificationManager".
+
     @author
         Fabian 'x3n' Landau
+
+    @ingroup Notifications
     */
-    //TODO: Needed? Remove or move some NotificationQueue things over here.
     class _OrxonoxExport NotificationListener : virtual public OrxonoxClass
     {
Index: code/trunk/src/orxonox/interfaces/PickupCarrier.h
===================================================================
--- code/trunk/src/orxonox/interfaces/PickupCarrier.h	(revision 7551)
+++ code/trunk/src/orxonox/interfaces/PickupCarrier.h	(revision 7552)
@@ -47,11 +47,5 @@
 
     // Forward-declarations.
-    class PickupManager;
-    class Pickup;
-    class HealthPickup;
-    class InvisiblePickup;
     class MetaPickup;
-    class DronePickup;
-    class SpeedPickup;
 
     /**
@@ -78,10 +72,5 @@
         friend class PickupManager;
         // Friends.
-        friend class Pickup;
-        friend class HealthPickup;
-        friend class InvisiblePickup;
         friend class MetaPickup;
-        friend class DronePickup;
-        friend class SpeedPickup;
 
         public:
Index: code/trunk/src/orxonox/interfaces/Pickupable.h
===================================================================
--- code/trunk/src/orxonox/interfaces/Pickupable.h	(revision 7551)
+++ code/trunk/src/orxonox/interfaces/Pickupable.h	(revision 7552)
@@ -62,4 +62,6 @@
     class _OrxonoxExport Pickupable : virtual public OrxonoxClass, public Rewardable
     {
+        friend class PickupCarrier;
+
         protected:
             Pickupable(); //!< Default constructor.
@@ -146,9 +148,5 @@
             bool setUsed(bool used); //!< Sets the Pickupable to used or unused, depending on the input.
             bool setPickedUp(bool pickedUp); //!< Helper method to set the Pickupable to either picked up or not picked up.
-            //TODO: private?
             bool setCarrier(PickupCarrier* carrier, bool tell = true); //!< Sets the carrier of the Pickupable.
-
-            //TODO: private?
-            virtual void carrierDestroyed(void); //!< Is called by the PickupCarrier when it is being destroyed.
 
             void destroy(void); //!< Is called internally within the Pickupable module to destroy pickups.
@@ -162,4 +160,5 @@
             virtual void preDestroy(void); //!< A method that is called by OrxonoxClass::destroy() before the object is actually destroyed.
             virtual void destroyPickup(void); //!< Destroys a Pickupable.
+            virtual void carrierDestroyed(void); //!< Is called by the PickupCarrier when it is being destroyed.
 
             /**
Index: code/trunk/src/orxonox/items/Engine.h
===================================================================
--- code/trunk/src/orxonox/items/Engine.h	(revision 7551)
+++ code/trunk/src/orxonox/items/Engine.h	(revision 7552)
@@ -114,5 +114,4 @@
             virtual const Vector3& getCarrierPosition(void) const;
 
-            //TODO: Move to protected or private. How?
             inline void setSpeedAdd(float speedAdd)
                 { this->speedAdd_=speedAdd; }
