Index: code/branches/questsystem/src/orxonox/objects/AddQuest.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/AddQuest.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/AddQuest.cc	(revision 2076)
@@ -43,15 +43,4 @@
     AddQuest::AddQuest() : ChangeQuestStatus()
     {
-        
-    }
-
-    /**
-    @brief
-        Constructor.
-    @param questId
-        The id of the quest to be added.
-    */
-    AddQuest::AddQuest(std::string questId) : ChangeQuestStatus(questId)
-    {
         RegisterObject(AddQuest);
     }
@@ -63,4 +52,10 @@
     AddQuest::~AddQuest()
     {
+    }
+    
+    void AddQuest::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(AddQuest, XMLPort, xmlelement, mode);
+        
     }
     
Index: code/branches/questsystem/src/orxonox/objects/AddQuest.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/AddQuest.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/AddQuest.h	(revision 2076)
@@ -32,4 +32,5 @@
 #include <string>
 
+#include "core/XMLPort.h"
 #include "ChangeQuestStatus.h"
 
@@ -48,6 +49,7 @@
 	public:
             AddQuest();
-	    AddQuest(std::string questId);
 	    ~AddQuest();
+	    
+	    virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 	    
 	    virtual bool invoke(Player* player); //!< Invokes the effect.
Index: code/branches/questsystem/src/orxonox/objects/AddQuestHint.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/AddQuestHint.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/AddQuestHint.cc	(revision 2076)
@@ -41,16 +41,4 @@
         
     }
-
-    /**
-    @brief
-        Constructor.
-    @param hintId
-        The id of the hint to be set to active.
-    */
-    AddQuestHint::AddQuestHint(std::string hintId) : QuestEffect()
-    {
-        RegisterObject(AddQuestHint);
-        this->hintId_ = hintId;
-    }
     
     /**
@@ -60,4 +48,12 @@
     AddQuestHint::~AddQuestHint()
     {
+    }
+    
+    void AddQuestHint::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(AddQuestHint, XMLPort, xmlelement, mode);
+        
+        XMLPortParam(AddQuestHint, "hintId", setHintId, getHintId, xmlelement, mode);
+        
     }
 
Index: code/branches/questsystem/src/orxonox/objects/AddQuestHint.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/AddQuestHint.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/AddQuestHint.h	(revision 2076)
@@ -48,6 +48,7 @@
 	public:
             AddQuestHint();
-	    AddQuestHint(std::string hintId);
 	    ~AddQuestHint();
+	    
+	    virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 	    
 	    virtual bool invoke(Player* player); //!< Invokes the effect.
@@ -55,4 +56,9 @@
 	private:
             std::string hintId_;
+            
+            inline const std::string & getHintId(void) const
+                { return this->hintId_; }
+	    inline void setHintId(const std::string & id)
+                { this->hintId_ = id; }
     
     };
Index: code/branches/questsystem/src/orxonox/objects/AddReward.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/AddReward.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/AddReward.cc	(revision 2076)
@@ -37,29 +37,5 @@
     AddReward::AddReward() : QuestEffect()
     {
-        
-    }
-    
-    /**
-    @brief
-        Constructor. Creates a new AddReward effect with an input reward.
-    @param reward
-        A reward.
-    */
-    AddReward::AddReward(Rewardable* reward) : QuestEffect()
-    {
         this->initialize();
-        this->addRewardable(reward);
-    }
-    
-    /**
-    @brief
-        Constructor. Creates a new AddReward effect with an input list of rewards.
-    @param rewards
-        A list of rewards.
-    */
-    AddReward::AddReward(std::list<Rewardable*>* rewards) : QuestEffect()
-    {
-        this->initialize();
-        this->rewards_ = rewards;
     }
     
@@ -72,4 +48,12 @@
     }
 
+    void AddReward::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(AddReward, XMLPort, xmlelement, mode);
+        
+        XMLPortObject(AddReward, Rewardable, "", addRewardable, getRewardables, xmlelement, mode);
+        
+    }
+
     /**
     @brief
@@ -79,4 +63,18 @@
     {
         RegisterObject(AddReward);
+    }
+    
+    const Rewardable* AddReward::getRewardables(unsigned int index) const
+    {
+        int i = index;
+        for (std::list<Rewardable*>::const_iterator reward = this->rewards_.begin(); reward != this->rewards_.end(); ++reward)
+	{
+	    if(i == 0)
+	    {
+	       return *reward;
+	    }
+	    i--;
+	}
+        return NULL;
     }
 
@@ -91,12 +89,6 @@
     bool AddReward::invoke(Player* player)
     {
-        if ( this->rewards_ == NULL )
-        {
-            COUT(2) << "NULL-Rewards list encountered." << std::endl;
-            return false;
-	}
-	
 	bool check = true;
-        for ( std::list<Rewardable*>::iterator reward = this->rewards_->begin(); reward != this->rewards_->end(); ++reward )
+        for ( std::list<Rewardable*>::iterator reward = this->rewards_.begin(); reward != this->rewards_.end(); ++reward )
 	{
 	    check = check && (*reward)->reward(player);
Index: code/branches/questsystem/src/orxonox/objects/AddReward.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/AddReward.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/AddReward.h	(revision 2076)
@@ -32,4 +32,5 @@
 #include <list>
 
+#include "core/XMLPort.h"
 #include "Rewardable.h"
 #include "QuestEffect.h"
@@ -49,17 +50,18 @@
 	public:
             AddReward();
-	    AddReward(Rewardable* reward);
-	    AddReward(std::list<Rewardable*>* rewards);
 	    ~AddReward();
+	    
+	    virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 	    
 	    virtual bool invoke(Player* player); //!< Invokes the effect.
 	    
 	private:
-            std::list<Rewardable*>* rewards_;
+            std::list<Rewardable*> rewards_;
 	
             void initialize(void); //!< Initializes the object.
 	
             inline void addRewardable(Rewardable* reward)
-                { this->rewards_->push_back(reward); }
+                { this->rewards_.push_back(reward); }
+	    const Rewardable* getRewardables(unsigned int index) const;
     
     };
Index: code/branches/questsystem/src/orxonox/objects/ChangeQuestStatus.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/ChangeQuestStatus.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/ChangeQuestStatus.cc	(revision 2076)
@@ -35,19 +35,7 @@
     ChangeQuestStatus::ChangeQuestStatus() : QuestEffect()
     {
-        
+        RegisterObject(ChangeQuestStatus);
     }
 
-    /**
-    @brief
-        Constructor.
-    @param questId
-        The id of the quest the status should be changed of.
-    */
-    ChangeQuestStatus::ChangeQuestStatus(std::string questId) : QuestEffect()
-    {
-        RegisterObject(ChangeQuestStatus);
-        this->questId_ = questId;
-    }
-    
     /**
     @brief
@@ -57,4 +45,11 @@
     {
     }
+    
+    void ChangeQuestStatus::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(ChangeQuestStatus, XMLPort, xmlelement, mode);
+        
+        XMLPortParam(ChangeQuestStatus, "questId", setQuestId, getQuestId, xmlelement, mode);
+    }
 
 }
Index: code/branches/questsystem/src/orxonox/objects/ChangeQuestStatus.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/ChangeQuestStatus.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/ChangeQuestStatus.h	(revision 2076)
@@ -32,4 +32,5 @@
 #include <string>
 
+#include "core/XMLPort.h"
 #include "QuestEffect.h"
 
@@ -48,14 +49,19 @@
 	public:
             ChangeQuestStatus();
-	    ChangeQuestStatus(std::string questId);
 	    virtual ~ChangeQuestStatus();
+	    
+	    virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 	    
 	    virtual bool invoke(Player* player) = 0; //!< Invokes the effect.
 	    
 	protected:
-            inline std::string getQuestId(void) //!< Returns the quest id.
-                { return questId_; }
+            inline const std::string & getQuestId(void) const //!< Returns the quest id.
+                { return this->questId_; }
 	
             std::string questId_; //!< The id of the quest the status should be changed of.
+            
+	private:
+            inline void setQuestId(const std::string & id)
+                { this->questId_ = id; }
 
     };
Index: code/branches/questsystem/src/orxonox/objects/CompleteQuest.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/CompleteQuest.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/CompleteQuest.cc	(revision 2076)
@@ -40,15 +40,4 @@
     CompleteQuest::CompleteQuest() : ChangeQuestStatus()
     {
-        
-    }
-    
-    /**
-    @brief
-        Constructor.
-    @param questId
-        The id of the quest to be completed.
-    */
-    CompleteQuest::CompleteQuest(std::string questId) : ChangeQuestStatus(questId)
-    {
         RegisterObject(CompleteQuest);
     }
@@ -60,4 +49,9 @@
     CompleteQuest::~CompleteQuest()
     {
+    }
+    
+    void CompleteQuest::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(CompleteQuest, XMLPort, xmlelement, mode);
     }
     
Index: code/branches/questsystem/src/orxonox/objects/CompleteQuest.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/CompleteQuest.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/CompleteQuest.h	(revision 2076)
@@ -32,4 +32,5 @@
 #include <string>
 
+#include "core/XMLPort.h"
 #include "ChangeQuestStatus.h"
 
@@ -48,6 +49,7 @@
 	public:
             CompleteQuest();
-	    CompleteQuest(std::string questId);
 	    ~CompleteQuest();
+	    
+	    virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 	    
 	    virtual bool invoke(Player* player); //!< Invokes the effect.
Index: code/branches/questsystem/src/orxonox/objects/FailQuest.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/FailQuest.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/FailQuest.cc	(revision 2076)
@@ -40,15 +40,4 @@
     FailQuest::FailQuest() : ChangeQuestStatus()
     {
-        
-    }
-
-    /**
-    @brief
-        Constructor.
-    @param questId
-	The id of the quest to be failed.
-    */
-    FailQuest::FailQuest(std::string questId) : ChangeQuestStatus(questId)
-    {
         RegisterObject(FailQuest);
     }
@@ -60,4 +49,9 @@
     FailQuest::~FailQuest()
     {
+    }
+    
+    void FailQuest::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(FailQuest, XMLPort, xmlelement, mode);
     }
     
Index: code/branches/questsystem/src/orxonox/objects/FailQuest.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/FailQuest.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/FailQuest.h	(revision 2076)
@@ -32,4 +32,5 @@
 #include <string>
 
+#include "core/XMLPort.h"
 #include "ChangeQuestStatus.h"
 
@@ -48,6 +49,7 @@
 	public:
             FailQuest();
-	    FailQuest(std::string questId);
 	    ~FailQuest();
+	    
+	    virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 	    
 	    virtual bool invoke(Player* player); //!< Invokes the effect.
Index: code/branches/questsystem/src/orxonox/objects/GlobalQuest.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/GlobalQuest.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/GlobalQuest.cc	(revision 2076)
@@ -44,19 +44,4 @@
         this->initialize();
     }
-
-    /**
-    @brief
-        Constructor.
-    @param id
-        The unique identifier.
-    @param title
-        The title of the quest.
-    @param description
-        The description of the quest.
-    */
-    GlobalQuest::GlobalQuest(std::string id) : Quest(id)
-    {
-        this->initialize();
-    }
     
     /**
@@ -67,4 +52,11 @@
     {
         
+    }
+    
+    void GlobalQuest::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(GlobalQuest, XMLPort, xmlelement, mode);
+
+        COUT(1) << "New GlobalQuest {" << this->getId() << "} created." << std::endl;
     }
     
Index: code/branches/questsystem/src/orxonox/objects/GlobalQuest.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/GlobalQuest.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/GlobalQuest.h	(revision 2076)
@@ -32,4 +32,5 @@
 #include <set>
 
+#include "core/XMLPort.h"
 #include "Quest.h"
 
@@ -49,6 +50,7 @@
 	public:
             GlobalQuest();
-	    GlobalQuest(std::string id);
 	    ~GlobalQuest();
+	    
+	    virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 	    
 	protected:
Index: code/branches/questsystem/src/orxonox/objects/LocalQuest.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/LocalQuest.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/LocalQuest.cc	(revision 2076)
@@ -40,15 +40,4 @@
         this->initialize();
     }
-
-    /**
-    @brief
-        Constructor.
-    @param id
-        The unique identifier.
-    */
-    LocalQuest::LocalQuest(std::string id) : Quest(id)
-    {
-        this->initialize();
-    }
     
     /**
@@ -59,4 +48,11 @@
     {
         
+    }
+    
+    void LocalQuest::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(LocalQuest, XMLPort, xmlelement, mode);
+
+        COUT(1) << "New LocalQuest {" << this->getId() << "} created." << std::endl;
     }
     
Index: code/branches/questsystem/src/orxonox/objects/LocalQuest.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/LocalQuest.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/LocalQuest.h	(revision 2076)
@@ -33,4 +33,5 @@
 #include <string>
 
+#include "core/XMLPort.h"
 #include "Quest.h"
 
@@ -49,6 +50,7 @@
 	public:
             LocalQuest();
-	    LocalQuest(std::string id);
 	    ~LocalQuest();
+	    
+	    virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 	    
 	protected:
Index: code/branches/questsystem/src/orxonox/objects/Quest.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/Quest.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/Quest.cc	(revision 2076)
@@ -38,19 +38,4 @@
         this->initialize();
     }
-
-    /**
-    @brief
-        Constructor. Creates a quest with a given id, title and description.
-    @param id
-        The unique identifier of the quest.
-    @param title
-        The title of the quest.
-    @param description
-        The description of the quest.
-    */
-    Quest::Quest(std::string id) : QuestItem(id)
-    {
-        this->initialize();
-    }
     
     /**
@@ -63,4 +48,16 @@
     }
     
+    void Quest::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(Quest, XMLPort, xmlelement, mode);
+        
+        XMLPortObject(Quest, Quest, "", addSubQuest, getSubQuests, xmlelement, mode);
+        XMLPortObject(Quest, QuestHint, "", addHint, getHints, xmlelement, mode);
+        XMLPortObject(Quest, QuestEffect, "fail-effects", addFailEffect, getFailEffects, xmlelement, mode);
+        XMLPortObject(Quest, QuestEffect, "complete-effects", addCompleteEffect, getCompleteEffects, xmlelement, mode);
+        
+        QuestManager::registerQuest(this); //Registers the quest with the QuestManager.
+    }
+    
     /**
     @brief
@@ -72,5 +69,4 @@
         
         this->parentQuest_ = NULL;
-        QuestManager::registerQuest(this); //Registers the quest with the QuestManager.
     }
 
@@ -111,6 +107,142 @@
         }
         
+        quest->setParentQuest(this);
         this->subQuests_.push_back(quest);
         return true;
+    }
+    
+    
+    /**
+    @brief
+        Adds a Hint to the list of hints 
+    @param hint
+        The hint that should be added to the list of hints.
+    @return
+        Returns true if the hint was successfully added.
+    */
+    bool Quest::addHint(QuestHint* hint)
+    {
+        if(hint == NULL)
+        {
+            COUT(2) << "A NULL-QuestHint was trying to be added." << std::endl;
+            return false;
+        }
+        
+	this->hints_.push_back(hint);
+	hint->setQuest(this);
+	return true;
+    }
+    
+    /**
+    @brief
+        
+    */
+    bool Quest::addFailEffect(QuestEffect* effect)
+    {
+        if(effect == NULL)
+        {
+            COUT(2) << "A NULL-QuestEffect was trying to be added" << std::endl;
+            return false;
+        }
+        
+        this->failEffects_.push_back(effect);
+        return true;
+    }
+    
+    /**
+    @brief
+        
+    */
+    bool Quest::addCompleteEffect(QuestEffect* effect)
+    {
+        if(effect == NULL)
+        {
+            COUT(2) << "A NULL-QuestEffect was trying to be added" << std::endl;
+            return false;
+        }
+        
+        this->completeEffects_.push_back(effect);
+        return true;
+    }
+    
+    /**
+    @brief
+        
+    */
+    const Quest* Quest::getParentQuest(void)
+    {
+        return this->parentQuest_;
+    }
+    
+    /**
+    @brief
+        
+    */
+    const Quest* Quest::getSubQuests(unsigned int index) const
+    {
+        int i = index;
+        for (std::list<Quest*>::const_iterator subQuest = this->subQuests_.begin(); subQuest != this->subQuests_.end(); ++subQuest)
+	{
+	    if(i == 0)
+	    {
+	       return *subQuest;
+	    }
+	    i--;
+	}
+        return NULL;
+    }
+    
+    /**
+    @brief
+        
+    */
+    const QuestHint* Quest::getHints(unsigned int index) const
+    {
+        int i = index;
+        for (std::list<QuestHint*>::const_iterator hint = this->hints_.begin(); hint != this->hints_.end(); ++hint)
+	{
+	    if(i == 0)
+	    {
+	       return *hint;
+	    }
+	    i--;
+	}
+        return NULL;
+    }
+    
+    /**
+    @brief
+        
+    */
+    const QuestEffect* Quest::getFailEffects(unsigned int index) const
+    {
+        int i = index;
+        for (std::list<QuestEffect*>::const_iterator effect = this->failEffects_.begin(); effect != this->failEffects_.end(); ++effect)
+	{
+	    if(i == 0)
+	    {
+	       return *effect;
+	    }
+	    i--;
+	}
+        return NULL;
+    }
+    
+    /**
+    @brief
+        
+    */
+    const QuestEffect* Quest::getCompleteEffects(unsigned int index) const
+    {
+        int i = index;
+        for (std::list<QuestEffect*>::const_iterator effect = this->completeEffects_.begin(); effect != this->completeEffects_.end(); ++effect)
+	{
+	    if(i == 0)
+	    {
+	       return *effect;
+	    }
+	    i--;
+	}
+        return NULL;
     }
     
@@ -175,25 +307,4 @@
         return this->getStatus(player) == questStatus::completed;
     }
-
-    /**
-    @brief
-        Adds a Hint to the list of hints 
-    @param hint
-        The hint that should be added to the list of hints.
-    @return
-        Returns true if the hint was successfully added.
-    */
-    bool Quest::addHint(QuestHint* hint)
-    {
-        if(hint == NULL)
-        {
-            COUT(2) << "A NULL-QuestHint was trying to be added." << std::endl;
-            return false;
-        }
-        
-	this->hints_.push_back(hint);
-	hint->setQuest(this);
-	return true;
-    }
     
     /**
Index: code/branches/questsystem/src/orxonox/objects/Quest.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/Quest.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/Quest.h	(revision 2076)
@@ -33,4 +33,5 @@
 #include <string>
 
+#include "core/XMLPort.h"
 #include "QuestDescription.h"
 #include "QuestItem.h"
@@ -67,10 +68,11 @@
 	public:
             Quest();
-            Quest(std::string id);
 	    virtual ~Quest();
+	    
+	    virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
     
             inline Quest* getParentQuest(void) const //!< Returns the parent quest of the quest.
                 { return this->parentQuest_; }
-	    inline const std::list<Quest*> & getSubQuest(void) const //!< Returns the list of sub quests.
+	    inline const std::list<Quest*> & getSubQuestList(void) const //!< Returns the list of sub quests.
                 { return this->subQuests_; }
 	    
@@ -83,6 +85,4 @@
 	    bool fail(Player* player); //!< Fails the quest.
 	    bool complete(Player* player); //!< Completes the quest.
-                
-            bool addHint(QuestHint* hint); //!< Add a hint to the list of hints.
 	    
         protected:
@@ -95,4 +95,13 @@
             bool setParentQuest(Quest* quest); //!< Sets the parent quest of the quest.
 	    bool addSubQuest(Quest* quest); //!< Adds a sub quest to the quest.
+	    bool addHint(QuestHint* hint); //!< Add a hint to the list of hints.
+	    bool addFailEffect(QuestEffect* effect);
+	    bool addCompleteEffect(QuestEffect* effect);
+	    
+	    const Quest* getParentQuest(void);
+	    const Quest* getSubQuests(unsigned int index) const;
+	    const QuestHint* getHints(unsigned int index) const;
+	    const QuestEffect* getFailEffects(unsigned int index) const;
+	    const QuestEffect* getCompleteEffects(unsigned int index) const;
             
             virtual questStatus::Enum getStatus(const Player* player) const = 0; //!< Returns the status of the quest for a specific player.
Index: code/branches/questsystem/src/orxonox/objects/QuestDescription.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/QuestDescription.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/QuestDescription.cc	(revision 2076)
@@ -39,17 +39,4 @@
         this->initialize();
     }
-        
-    /**
-    @brief
-        Constructor. Creates a new QuestDescription object and adds a title and description.
-    @param title
-    @param description
-    */
-    QuestDescription::QuestDescription(std::string title, std::string description) : BaseObject()
-    {
-        this->initialize();
-        this->title_ = title;
-        this->description_ = description;
-    }
     
     QuestDescription::~QuestDescription()
@@ -65,5 +52,5 @@
         XMLPortParam(QuestDescription, "description", setDescription, getDescription, xmlelement, mode);
         
-        COUT(1) << "QuestDescription created!" << std::endl;
+        COUT(1) << "New QuestDescription with title '" << this->getTitle() << "' created." << std::endl;
     }
     
Index: code/branches/questsystem/src/orxonox/objects/QuestDescription.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/QuestDescription.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/QuestDescription.h	(revision 2076)
@@ -48,5 +48,4 @@
 	public:
             QuestDescription();
-	    QuestDescription(std::string title, std::string description = "");
 	    ~QuestDescription();
 	    
Index: code/branches/questsystem/src/orxonox/objects/QuestHint.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/QuestHint.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/QuestHint.cc	(revision 2076)
@@ -45,19 +45,4 @@
         this->initialize();
     }
-
-    /**
-    @brief
-        Constructor.  Needs as input a unique identifier to be able to identify different instances of this class (and subclasses).
-    @param id
-        The unique identifier.
-    @param title
-        The title of the hint.
-    @param description
-        The description of the hint, resp. the hint itself.
-    */
-    QuestHint::QuestHint(std::string id) : QuestItem(id)
-    {
-        this->initialize();
-    }
     
     /**
@@ -78,4 +63,6 @@
     {
 	SUPER(QuestHint, XMLPort, xmlelement, mode);
+	
+	COUT(1) << "New QuestHint {" << this->getId() << "} created." << std::endl;
     }
 
Index: code/branches/questsystem/src/orxonox/objects/QuestHint.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/QuestHint.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/QuestHint.h	(revision 2076)
@@ -67,5 +67,4 @@
 	public:
             QuestHint();
-	    QuestHint(std::string id);
 	    ~QuestHint();
 	    
Index: code/branches/questsystem/src/orxonox/objects/QuestItem.cc
===================================================================
--- code/branches/questsystem/src/orxonox/objects/QuestItem.cc	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/QuestItem.cc	(revision 2076)
@@ -32,23 +32,8 @@
 
 namespace orxonox {
-
-    CreateFactory(QuestItem);
     
     QuestItem::QuestItem() : BaseObject()
     {
         this->initialize();
-    }
-    
-    /**
-    @brief
-        Constructor. Needs as input a unique identifier to be able to identify different instances of this class (and subclasses).
-    @param id
-        The unique identifier. Should be of GUID form: http://en.wikipedia.org/wiki/Globally_Unique_Identifier#Basic_structure
-    */
-    QuestItem::QuestItem(std::string id) : BaseObject()
-    {
-        this->initialize();
-        
-        this->id_ = id;
     }
     
Index: code/branches/questsystem/src/orxonox/objects/QuestItem.h
===================================================================
--- code/branches/questsystem/src/orxonox/objects/QuestItem.h	(revision 2068)
+++ code/branches/questsystem/src/orxonox/objects/QuestItem.h	(revision 2076)
@@ -51,5 +51,4 @@
 	public:
             QuestItem();
-	    QuestItem(std::string id);
 	    virtual ~QuestItem();
 	    
