Index: code/branches/core6/src/libraries/core/class/Identifier.cc
===================================================================
--- code/branches/core6/src/libraries/core/class/Identifier.cc	(revision 9631)
+++ code/branches/core6/src/libraries/core/class/Identifier.cc	(revision 9632)
@@ -174,5 +174,5 @@
         @return The new object
     */
-    OrxonoxClass* Identifier::fabricate(Context* context)
+    Identifiable* Identifier::fabricate(Context* context)
     {
         if (this->factory_)
Index: code/branches/core6/src/libraries/core/class/Identifier.h
===================================================================
--- code/branches/core6/src/libraries/core/class/Identifier.h	(revision 9631)
+++ code/branches/core6/src/libraries/core/class/Identifier.h	(revision 9632)
@@ -56,5 +56,5 @@
     object->getIdentifier()->getName();                                         // returns "MyClass"
 
-    OrxonoxClass* other = object->getIdentifier()->fabricate(0);                // fabricates a new instance of MyClass
+    Identifiable* other = object->getIdentifier()->fabricate(0);                // fabricates a new instance of MyClass
 
 
@@ -125,5 +125,5 @@
             inline bool hasFactory() const { return (this->factory_ != 0); }
 
-            OrxonoxClass* fabricate(Context* context);
+            Identifiable* fabricate(Context* context);
 
             /// Returns true if the class can be loaded through XML.
Index: code/branches/core6/src/libraries/core/class/IdentifierManager.cc
===================================================================
--- code/branches/core6/src/libraries/core/class/IdentifierManager.cc	(revision 9631)
+++ code/branches/core6/src/libraries/core/class/IdentifierManager.cc	(revision 9632)
@@ -91,6 +91,6 @@
             if (it->second->hasFactory())
             {
-                OrxonoxClass* temp = it->second->fabricate(0);
-                temp->destroy();
+                Identifiable* temp = it->second->fabricate(0);
+                delete temp;
             }
         }
Index: code/branches/core6/src/libraries/core/class/SubclassIdentifier.h
===================================================================
--- code/branches/core6/src/libraries/core/class/SubclassIdentifier.h	(revision 9631)
+++ code/branches/core6/src/libraries/core/class/SubclassIdentifier.h	(revision 9632)
@@ -165,5 +165,5 @@
             T* fabricate(Context* context) const
             {
-                OrxonoxClass* newObject = this->identifier_->fabricate(context);
+                Identifiable* newObject = this->identifier_->fabricate(context);
 
                 // Check if the creation was successful
Index: code/branches/core6/src/libraries/core/object/ClassFactory.h
===================================================================
--- code/branches/core6/src/libraries/core/object/ClassFactory.h	(revision 9631)
+++ code/branches/core6/src/libraries/core/object/ClassFactory.h	(revision 9632)
@@ -55,5 +55,5 @@
         public:
             virtual ~Factory() {};
-            virtual OrxonoxClass* fabricate(Context* context) = 0;
+            virtual Identifiable* fabricate(Context* context) = 0;
     };
 
@@ -82,5 +82,5 @@
                 @return The new object
             */
-            inline OrxonoxClass* fabricate(Context* context)
+            inline Identifiable* fabricate(Context* context)
             {
                 return static_cast<OrxonoxClass*>(new T(context));
Index: code/branches/core6/test/core/object/ClassFactoryTest.cc
===================================================================
--- code/branches/core6/test/core/object/ClassFactoryTest.cc	(revision 9631)
+++ code/branches/core6/test/core/object/ClassFactoryTest.cc	(revision 9632)
@@ -8,5 +8,5 @@
     {
         Factory* factory = new ClassFactory<BaseObject>("BaseObject");
-        OrxonoxClass* object = factory->fabricate(NULL);
+        Identifiable* object = factory->fabricate(NULL);
         ASSERT_TRUE(object != NULL);
         BaseObject* baseObject = dynamic_cast<BaseObject*>(object);
