Index: /code/branches/core7/src/libraries/core/Core.cc
===================================================================
--- /code/branches/core7/src/libraries/core/Core.cc	(revision 10519)
+++ /code/branches/core7/src/libraries/core/Core.cc	(revision 10520)
@@ -241,7 +241,5 @@
         safeObjectDelete(&languageInstance_);
         safeObjectDelete(&configFileManager_);
-        ConsoleCommandManager::getInstance().destroyAll();
         Context::setRootContext(NULL);
-        IdentifierManager::getInstance().destroyAllIdentifiers();
         safeObjectDelete(&signalHandler_);
 //        if (this->rootModule_)
Index: /code/branches/core7/src/libraries/core/CoreIncludes.h
===================================================================
--- /code/branches/core7/src/libraries/core/CoreIncludes.h	(revision 10519)
+++ /code/branches/core7/src/libraries/core/CoreIncludes.h	(revision 10520)
@@ -226,4 +226,5 @@
         public:
             StaticallyInitializedIdentifier(Identifier* identifier) : identifier_(identifier) {}
+            ~StaticallyInitializedIdentifier() { delete identifier_; }
 
             virtual void load()
Index: /code/branches/core7/src/libraries/core/class/IdentifierManager.cc
===================================================================
--- /code/branches/core7/src/libraries/core/class/IdentifierManager.cc	(revision 10519)
+++ /code/branches/core7/src/libraries/core/class/IdentifierManager.cc	(revision 10520)
@@ -277,17 +277,3 @@
         this->identifierByNetworkId_.clear();
     }
-
-    /**
-        @brief Destroys all Identifiers. Called when exiting the program.
-    */
-    void IdentifierManager::destroyAllIdentifiers()
-    {
-        for (std::set<Identifier*>::iterator it = this->identifiers_.begin(); it != this->identifiers_.end(); ++it)
-            delete (*it);
-
-        this->identifiers_.clear();
-        this->identifierByString_.clear();
-        this->identifierByLowercaseString_.clear();
-        this->identifierByNetworkId_.clear();
-    }
 }
Index: /code/branches/core7/src/libraries/core/class/IdentifierManager.h
===================================================================
--- /code/branches/core7/src/libraries/core/class/IdentifierManager.h	(revision 10519)
+++ /code/branches/core7/src/libraries/core/class/IdentifierManager.h	(revision 10520)
@@ -87,6 +87,4 @@
                 { return this->identifierByNetworkId_; }
 
-            void destroyAllIdentifiers();
-
         private:
             IdentifierManager();
Index: /code/branches/core7/src/libraries/core/command/ConsoleCommand.cc
===================================================================
--- /code/branches/core7/src/libraries/core/command/ConsoleCommand.cc	(revision 10519)
+++ /code/branches/core7/src/libraries/core/command/ConsoleCommand.cc	(revision 10520)
@@ -92,5 +92,4 @@
     ConsoleCommand::~ConsoleCommand()
     {
-        ConsoleCommandManager::getInstance().unregisterCommand(this);
     }
 
Index: /code/branches/core7/src/libraries/core/command/ConsoleCommandIncludes.h
===================================================================
--- /code/branches/core7/src/libraries/core/command/ConsoleCommandIncludes.h	(revision 10519)
+++ /code/branches/core7/src/libraries/core/command/ConsoleCommandIncludes.h	(revision 10520)
@@ -311,4 +311,5 @@
         public:
             StaticallyInitializedConsoleCommand(ConsoleCommand* command) : command_(command) {}
+            ~StaticallyInitializedConsoleCommand() { delete command_; }
 
             virtual void load();
Index: /code/branches/core7/src/libraries/core/command/ConsoleCommandManager.cc
===================================================================
--- /code/branches/core7/src/libraries/core/command/ConsoleCommandManager.cc	(revision 10519)
+++ /code/branches/core7/src/libraries/core/command/ConsoleCommandManager.cc	(revision 10520)
@@ -191,13 +191,3 @@
         }
     }
-
-    /**
-        @brief Deletes all commands
-    */
-    void ConsoleCommandManager::destroyAll()
-    {
-        // delete entries until the map is empty
-        while (!this->commandMap_.empty() && !this->commandMap_.begin()->second.empty())
-            delete this->commandMap_.begin()->second.begin()->second;
-    }
 }
Index: /code/branches/core7/src/libraries/core/command/ConsoleCommandManager.h
===================================================================
--- /code/branches/core7/src/libraries/core/command/ConsoleCommandManager.h	(revision 10519)
+++ /code/branches/core7/src/libraries/core/command/ConsoleCommandManager.h	(revision 10520)
@@ -68,6 +68,4 @@
             ConsoleCommand* getCommandLC(const std::string& group, const std::string& name, bool bPrintError = false);
 
-            void destroyAll();
-
         private:
             std::map<std::string, std::map<std::string, ConsoleCommand*> > commandMap_;
Index: /code/branches/core7/src/libraries/core/commandline/CommandLineIncludes.h
===================================================================
--- /code/branches/core7/src/libraries/core/commandline/CommandLineIncludes.h	(revision 10519)
+++ /code/branches/core7/src/libraries/core/commandline/CommandLineIncludes.h	(revision 10520)
@@ -59,4 +59,5 @@
         public:
             StaticallyInitializedCommandLineArgument(CommandLineArgument* argument) : argument_(argument) {}
+            ~StaticallyInitializedCommandLineArgument() { delete argument_; }
 
             virtual void load()
Index: /code/branches/core7/src/libraries/core/commandline/CommandLineParser.cc
===================================================================
--- /code/branches/core7/src/libraries/core/commandline/CommandLineParser.cc	(revision 10519)
+++ /code/branches/core7/src/libraries/core/commandline/CommandLineParser.cc	(revision 10520)
@@ -85,5 +85,4 @@
     CommandLineParser::~CommandLineParser()
     {
-        CommandLineParser::destroyAllArguments();
     }
 
@@ -96,17 +95,4 @@
         static CommandLineParser instance;
         return instance;
-    }
-
-    /**
-    @brief
-        Destroys all command line arguments. This should be called at the end
-        of main. Do not use before that.
-    */
-    void CommandLineParser::destroyAllArguments()
-    {
-        for (std::map<std::string, CommandLineArgument*>::const_iterator it = _getInstance().cmdLineArgs_.begin();
-            it != _getInstance().cmdLineArgs_.end(); ++it)
-            delete it->second;
-        _getInstance().cmdLineArgs_.clear();
     }
 
Index: /code/branches/core7/src/libraries/core/commandline/CommandLineParser.h
===================================================================
--- /code/branches/core7/src/libraries/core/commandline/CommandLineParser.h	(revision 10519)
+++ /code/branches/core7/src/libraries/core/commandline/CommandLineParser.h	(revision 10520)
@@ -161,6 +161,4 @@
         }
 
-        static void destroyAllArguments();
-
         static void generateDoc(std::ofstream& file);
 
Index: /code/branches/core7/src/libraries/core/singleton/ScopedSingletonIncludes.h
===================================================================
--- /code/branches/core7/src/libraries/core/singleton/ScopedSingletonIncludes.h	(revision 10519)
+++ /code/branches/core7/src/libraries/core/singleton/ScopedSingletonIncludes.h	(revision 10520)
@@ -84,4 +84,5 @@
                 , scope_(scope)
             {}
+            ~StaticallyInitializedScopedSingletonWrapper() { delete wrapper_; }
 
             virtual void load();
Index: /code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h
===================================================================
--- /code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h	(revision 10519)
+++ /code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h	(revision 10520)
@@ -52,4 +52,5 @@
         public:
             StaticallyInitializedNetworkFunction(NetworkFunctionBase* function) : function_(function) {}
+            ~StaticallyInitializedNetworkFunction() { delete function_; }
 
             virtual void load();
Index: /code/branches/core7/src/libraries/network/NetworkFunctionManager.cc
===================================================================
--- /code/branches/core7/src/libraries/network/NetworkFunctionManager.cc	(revision 10519)
+++ /code/branches/core7/src/libraries/network/NetworkFunctionManager.cc	(revision 10520)
@@ -54,11 +54,4 @@
     }
 
-    void NetworkFunctionManager::destroyAllNetworkFunctions()
-    {
-        std::set<NetworkFunctionBase*>::iterator it;
-        for (it = this->functions_.begin(); it != this->functions_.end(); ++it)
-            delete (*it);
-    }
-
     NetworkFunctionBase* NetworkFunctionManager::getFunctionByName(const std::string& name)
     {
Index: /code/branches/core7/src/libraries/network/NetworkFunctionManager.h
===================================================================
--- /code/branches/core7/src/libraries/network/NetworkFunctionManager.h	(revision 10519)
+++ /code/branches/core7/src/libraries/network/NetworkFunctionManager.h	(revision 10520)
@@ -46,6 +46,4 @@
             void unregisterFunction(NetworkFunctionBase* function);
 
-            void destroyAllNetworkFunctions();
-
             inline const std::set<NetworkFunctionBase*>& getAllFunctions()
                 { return functions_; }
Index: /code/branches/core7/src/orxonox/gamestates/GSRoot.cc
===================================================================
--- /code/branches/core7/src/orxonox/gamestates/GSRoot.cc	(revision 10519)
+++ /code/branches/core7/src/orxonox/gamestates/GSRoot.cc	(revision 10520)
@@ -35,5 +35,4 @@
 #include "core/command/ConsoleCommandIncludes.h"
 #include "network/NetworkFunctionIncludes.h"
-#include "network/NetworkFunctionManager.h"
 #include "tools/Timer.h"
 #include "tools/interfaces/Tickable.h"
@@ -69,5 +68,4 @@
     GSRoot::~GSRoot()
     {
-        NetworkFunctionManager::getInstance().destroyAllNetworkFunctions();
     }
 
