Index: /branches/new_class_id/src/lib/shell/shell_command.cc
===================================================================
--- /branches/new_class_id/src/lib/shell/shell_command.cc	(revision 9733)
+++ /branches/new_class_id/src/lib/shell/shell_command.cc	(revision 9734)
@@ -20,4 +20,5 @@
 
 #include "compiler.h"
+#include "helper_functions.h"
 #include "debug.h"
 
Index: /branches/new_class_id/src/lib/shell/shell_completion.cc
===================================================================
--- /branches/new_class_id/src/lib/shell/shell_completion.cc	(revision 9733)
+++ /branches/new_class_id/src/lib/shell/shell_completion.cc	(revision 9734)
@@ -22,5 +22,5 @@
 #include "shell_command.h"
 
-#include "substring.h"
+#include "helper_functions.h"
 #include "debug.h"
 
Index: /branches/new_class_id/src/lib/shell/shell_completion_plugin.cc
===================================================================
--- /branches/new_class_id/src/lib/shell/shell_completion_plugin.cc	(revision 9733)
+++ /branches/new_class_id/src/lib/shell/shell_completion_plugin.cc	(revision 9734)
@@ -21,5 +21,5 @@
 #include "shell_command.h"
 
-#include "substring.h"
+#include "helper_functions.h"
 #include "loading/resource_manager.h"
 
Index: /branches/new_class_id/src/lib/util/executor/executor.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor.h	(revision 9733)
+++ /branches/new_class_id/src/lib/util/executor/executor.h	(revision 9734)
@@ -105,13 +105,81 @@
   virtual Executor<CallType>* clone () const = 0;
 
+
 protected:
-  Executor(bool hasRetVal,
-           const MultiType& param0 = MT_NULL, const MultiType& param1 = MT_NULL,
-           const MultiType& param2 = MT_NULL, const MultiType& param3 = MT_NULL,
-           const MultiType& param4 = MT_NULL, const MultiType& param5 = MT_NULL,
-           const MultiType& param6 = MT_NULL)
-      : bRetVal(hasRetVal)
-  {
-    // What Parameters have we got
+  //! Now follows a List of Executor Constructors, to be fast in creating.
+  Executor(bool hasRetVal, FunctionType functionType = FunctionDefault)
+  : bRetVal(hasRetVal), paramCount(0), functionType(functionType)
+  { };
+
+  Executor(bool hasRetVal, const MultiType& param0,
+	   FunctionType functionType = FunctionDefault)
+  : bRetVal(hasRetVal), paramCount(1), functionType(functionType)
+  {
+    this->defaultValue[0] = param0;
+  };
+
+  Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
+	   FunctionType functionType = FunctionDefault)
+  : bRetVal(hasRetVal), paramCount(2), functionType(functionType)
+  {
+    this->defaultValue[0] = param0;
+    this->defaultValue[1] = param1;
+  };
+
+  Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
+	   const MultiType& param2,
+	   FunctionType functionType = FunctionDefault)
+  : bRetVal(hasRetVal), paramCount(3), functionType(functionType)
+  {
+    this->defaultValue[0] = param0;
+    this->defaultValue[1] = param1;
+    this->defaultValue[2] = param2;
+  };
+
+  Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
+	   const MultiType& param2, const MultiType& param3,
+	   FunctionType functionType = FunctionDefault)
+  : bRetVal(hasRetVal), paramCount(4), functionType(functionType)
+  {
+    this->defaultValue[0] = param0;
+    this->defaultValue[1] = param1;
+    this->defaultValue[2] = param2;
+    this->defaultValue[3] = param3;
+  };
+
+  Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
+	   const MultiType& param2, const MultiType& param3,
+	   const MultiType& param4,
+	   FunctionType functionType = FunctionDefault)
+  : bRetVal(hasRetVal), paramCount(5), functionType(functionType)
+  {
+    this->defaultValue[0] = param0;
+    this->defaultValue[1] = param1;
+    this->defaultValue[2] = param2;
+    this->defaultValue[3] = param3;
+    this->defaultValue[4] = param4;
+  };
+
+  Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
+	   const MultiType& param2, const MultiType& param3,
+	   const MultiType& param4, const MultiType& param5,
+	   FunctionType functionType = FunctionDefault)
+  : bRetVal(hasRetVal), paramCount(6), functionType(functionType)
+  {
+    this->defaultValue[0] = param0;
+    this->defaultValue[1] = param1;
+    this->defaultValue[2] = param2;
+    this->defaultValue[3] = param3;
+    this->defaultValue[4] = param4;
+    this->defaultValue[5] = param5;
+  };
+
+  Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
+	   const MultiType& param2, const MultiType& param3,
+	   const MultiType& param4, const MultiType& param5,
+	   const MultiType& param6,
+	   FunctionType functionType = FunctionDefault)
+  : bRetVal(hasRetVal), paramCount(7), functionType(functionType)
+  {
     this->defaultValue[0] = param0;
     this->defaultValue[1] = param1;
@@ -121,27 +189,12 @@
     this->defaultValue[5] = param5;
     this->defaultValue[6] = param6;
-
-    this->paramCount = 0;
-    for (unsigned int i = 0; i <= EXECUTOR_MAX_ARGUMENTS; i++)
-    {
-      if (this->defaultValue[i] == MT_NULL || i == EXECUTOR_MAX_ARGUMENTS)
-      {
-        this->paramCount = i;
-        break;
-      }
-      else
-        this->defaultValue[i].storeString();
-    }
-  }
-
-
+  };
 
 protected:
+  const bool                  bRetVal;          //!< True if the Executor has a return Value.
   unsigned int                paramCount;       //!< the count of parameters.
   MultiType                   defaultValue[7];  //!< Default Values.
 
-  FunctionType          functionType;     //!< What Type of Function it is.
-private:
-  const bool                  bRetVal;          //!< True if the Executor has a return Value.
+  const FunctionType          functionType;     //!< What Type of Function it is.
 };
 
Index: /branches/new_class_id/src/lib/util/executor/executor_functional.cc
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_functional.cc	(revision 9733)
+++ /branches/new_class_id/src/lib/util/executor/executor_functional.cc	(revision 9734)
@@ -15,4 +15,5 @@
 
 #include "executor_functional.h"
+#include "helper_functions.h"
 
 template<> bool fromString<bool>(const std::string& input, bool defaultValue) { return isBool(input, defaultValue); };
Index: /branches/new_class_id/src/lib/util/executor/executor_functional.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_functional.h	(revision 9733)
+++ /branches/new_class_id/src/lib/util/executor/executor_functional.h	(revision 9734)
@@ -140,5 +140,4 @@
       : Executor<CallType>(false)
   {
-    this->functionType = Executor<CallType>::FunctionDefault;
     this->functionPointer = functionPointer;
   };
@@ -185,5 +184,4 @@
       : Executor<CallType>(false, ExecutorParamType<type0>())
   {
-    this->functionType = Executor<CallType>::FunctionDefault;
     this->functionPointer = functionPointer;
   };
@@ -229,5 +227,4 @@
       : Executor<CallType>(false, ExecutorParamType<type0>(), ExecutorParamType<type1>())
   {
-    this->functionType = Executor<CallType>::FunctionDefault;
     this->functionPointer = functionPointer;
   };
@@ -275,5 +272,4 @@
       : Executor<CallType>(false, ExecutorParamType<type0>(), ExecutorParamType<type1>(), ExecutorParamType<type2>())
   {
-    this->functionType = Executor<CallType>::FunctionDefault;
     this->functionPointer = functionPointer;
   };
@@ -323,5 +319,4 @@
       : Executor<CallType>(false, ExecutorParamType<type0>(), ExecutorParamType<type1>(), ExecutorParamType<type2>(), ExecutorParamType<type3>())
   {
-    this->functionType = Executor<CallType>::FunctionDefault;
     this->functionPointer = functionPointer;
   };
@@ -372,5 +367,4 @@
       : Executor<CallType>(false, ExecutorParamType<type0>(), ExecutorParamType<type1>(), ExecutorParamType<type2>(), ExecutorParamType<type3>(), ExecutorParamType<type4>())
   {
-    this->functionType = Executor<CallType>::FunctionDefault;
     this->functionPointer = functionPointer;
   };
Index: /branches/new_class_id/src/lib/util/executor/executor_lua.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_lua.h	(revision 9733)
+++ /branches/new_class_id/src/lib/util/executor/executor_lua.h	(revision 9734)
@@ -51,5 +51,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -88,5 +87,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -124,5 +122,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -161,5 +158,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -200,5 +196,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -246,5 +241,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -282,5 +276,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -317,5 +310,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -354,5 +346,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -392,5 +383,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -430,5 +420,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -471,5 +460,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
@@ -514,5 +502,4 @@
   {
     this->functionPointer = function;
-    this->functionType = Executor<lua_State*>::FunctionDefault;
   }
 
Index: /branches/new_class_id/src/lib/util/executor/executor_xml.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_xml.h	(revision 9733)
+++ /branches/new_class_id/src/lib/util/executor/executor_xml.h	(revision 9734)
@@ -40,5 +40,4 @@
     this->paramName = paramName;
     this->functionPointer = function;
-    this->functionType = FunctionDefault;
   }
 
