Index: code/branches/pch/src/core/CoreIncludes.h
===================================================================
--- code/branches/pch/src/core/CoreIncludes.h	(revision 3150)
+++ code/branches/pch/src/core/CoreIncludes.h	(revision 3151)
@@ -46,5 +46,4 @@
 #include "Factory.h"
 #include "ClassFactory.h"
-#include "Functor.h"
 #include "util/Debug.h"
 
@@ -129,11 +128,3 @@
     orxonox::Factory::getIdentifier(networkID)
 
-/**
-    @brief Registers a member function as callback when an object of 'type' is created.
-    @param
-*/
-#define RegisterConstructionCallback(ThisClassName, TargetClassName, FunctionName) \
-    orxonox::ClassIdentifier<TargetClassName>::getIdentifier()->addConstructionCallback( \
-        orxonox::createFunctor(&ThisClassName::FunctionName)->setObject(this))
-
 #endif /* _CoreIncludes_H__ */
Index: code/branches/pch/src/core/Identifier.cc
===================================================================
--- code/branches/pch/src/core/Identifier.cc	(revision 3150)
+++ code/branches/pch/src/core/Identifier.cc	(revision 3151)
@@ -63,5 +63,4 @@
         this->bHasConfigValues_ = false;
         this->bHasConsoleCommands_ = false;
-        this->bHasConstructionCallback_ = false;
 
         this->children_ = new std::set<const Identifier*>();
@@ -93,6 +92,4 @@
         for (std::map<std::string, XMLPortObjectContainer*>::iterator it = this->xmlportObjectContainers_.begin(); it != this->xmlportObjectContainers_.end(); ++it)
             delete (it->second);
-        for (std::vector<Functor*>::iterator it = this->constructionCallbacks_.begin(); it != this->constructionCallbacks_.end(); ++it)
-            delete *it;
     }
 
@@ -519,36 +516,4 @@
 
     /**
-        @brief Adds a construction callback functor that gets called every time an object is created.
-        @param functor Functor pointer to any function with no argument.
-    */
-    void Identifier::addConstructionCallback(Functor* functor)
-    {
-        for (unsigned int i = 0; i < this->constructionCallbacks_.size(); ++i)
-        {
-            if (this->constructionCallbacks_[i] == functor)
-                return;
-        }
-        this->constructionCallbacks_.push_back(functor);
-        this->bHasConstructionCallback_ = true;
-    }
-
-    /**
-        @brief Removes a construction callback functor that gets called every time an object is created.
-        @param functor Functor pointer to any function with no argument.
-    */
-    void Identifier::removeConstructionCallback(Functor* functor)
-    {
-        for (unsigned int i = 0; i < this->constructionCallbacks_.size(); ++i)
-        {
-            if (this->constructionCallbacks_[i] == functor)
-            {
-                this->constructionCallbacks_.erase(this->constructionCallbacks_.begin() + i);
-            }
-        }
-        if (constructionCallbacks_.empty())
-            this->bHasConstructionCallback_ = false;
-    }
-
-    /**
         @brief Lists the names of all Identifiers in a std::set<const Identifier*>.
         @param out The outstream
Index: code/branches/pch/src/core/Identifier.h
===================================================================
--- code/branches/pch/src/core/Identifier.h	(revision 3150)
+++ code/branches/pch/src/core/Identifier.h	(revision 3151)
@@ -223,6 +223,4 @@
             /** @brief Returns true if this class has at least one console command. @return True if this class has at least one console command */
             inline bool hasConsoleCommands() const { return this->bHasConsoleCommands_; }
-            /** @brief Returns true if this class has at least one construction callback Functor registered. */
-            inline bool hasConstructionCallback() const { return this->bHasConstructionCallback_; }
 
             /** @brief Returns true, if a branch of the class-hierarchy is being created, causing all new objects to store their parents. @return The status of the class-hierarchy creation */
@@ -251,7 +249,4 @@
             ConsoleCommand* getConsoleCommand(const std::string& name) const;
             ConsoleCommand* getLowercaseConsoleCommand(const std::string& name) const;
-
-            void addConstructionCallback(Functor* functor);
-            void removeConstructionCallback(Functor* functor);
 
             void initializeClassHierarchy(std::set<const Identifier*>* parents, bool bRootClass);
@@ -276,7 +271,4 @@
             /** @brief Returns the direct children of the class the Identifier belongs to. @return The list of all direct children */
             inline std::set<const Identifier*>& getDirectChildrenIntern() const { return (*this->directChildren_); }
-
-            bool bHasConstructionCallback_;                                //!< True if at least one Functor is registered to get informed when an object of type T is created.
-            std::vector<Functor*> constructionCallbacks_;                  //!< All construction callback Functors of this class.
 
             ObjectListBase* objects_;                                      //!< The list of all objects of this class
@@ -439,11 +431,4 @@
         COUT(5) << "*** ClassIdentifier: Added object to " << this->getName() << "-list." << std::endl;
         object->getMetaList().add(this->objects_, this->objects_->add(new ObjectListElement<T>(object)));
-        if (this->bHasConstructionCallback_)
-        {
-            // Call all registered callbacks that a new object of type T has been created.
-            // Do NOT deliver a T* pointer here because it's way too risky (object not yet fully created).
-            for (unsigned int i = 0; i < this->constructionCallbacks_.size(); ++i)
-                (*constructionCallbacks_[i])();
-        }
     }
 
