Index: source/ariba/utility/system/StartupWrapper.cpp
===================================================================
--- source/ariba/utility/system/StartupWrapper.cpp	(revision 10700)
+++ source/ariba/utility/system/StartupWrapper.cpp	(revision 12060)
@@ -36,4 +36,6 @@
 // Telematics.
 // [License]
+
+// XXX NOTE: Use this class with caution! Config support is outdated.
 
 #include "StartupWrapper.h"
Index: source/ariba/utility/system/StartupWrapper.h
===================================================================
--- source/ariba/utility/system/StartupWrapper.h	(revision 10700)
+++ source/ariba/utility/system/StartupWrapper.h	(revision 12060)
@@ -36,4 +36,6 @@
 // Telematics.
 // [License]
+
+// XXX NOTE: Use this class with caution! Config support is outdated.
 
 #ifndef __STARTUP_WRAPPER_H
Index: source/ariba/utility/system/SystemQueue.cpp
===================================================================
--- source/ariba/utility/system/SystemQueue.cpp	(revision 10700)
+++ source/ariba/utility/system/SystemQueue.cpp	(revision 12060)
@@ -69,4 +69,16 @@
 }
 
+// maps to function call internally to the Event-system
+void SystemQueue::scheduleCall( const boost::function0<void>& function, uint32_t delay)
+{
+    // copy function object
+    boost::function0<void>* function_ptr = new boost::function0<void>();
+    (*function_ptr) = function; 
+
+    // schedule special call-event
+    scheduleEvent( SystemEvent(&internal_function_caller, SystemEventType::DEFAULT, function_ptr), delay );
+
+}
+
 #ifdef UNDERLAY_OMNET
 void SystemQueue::handleMessage(cMessage* msg){
Index: source/ariba/utility/system/SystemQueue.h
===================================================================
--- source/ariba/utility/system/SystemQueue.h	(revision 10700)
+++ source/ariba/utility/system/SystemQueue.h	(revision 12060)
@@ -60,4 +60,7 @@
 #endif
 
+#include <boost/function.hpp>
+
+
 using std::vector;
 using boost::posix_time::ptime;
@@ -108,4 +111,13 @@
 	 */
 	void scheduleEvent( const SystemEvent& event, uint32_t delay = 0 );
+	
+	/**
+	 * This method schedules a function call in the SystemQueue.
+	 * (Like scheduleEvent, but to be used with boost::bind.)
+	 * 
+	 * @param function: The function to be called [void function()]
+	 * @param The delay in milli-seconds
+	 */
+	void scheduleCall( const boost::function0<void>& function, uint32_t delay = 0 );
 
 	/**
@@ -170,4 +182,6 @@
 #endif
 
+	
+	
 private:
 
@@ -235,5 +249,22 @@
 	volatile bool systemQueueRunning;
 #endif
-
+	
+	
+private:
+    /**
+     * This inner class handles the function-call events.
+     * @see SystemQueue::scheduleCall
+     */
+    class FunctionCaller  :  public SystemEventListener
+    {
+        void handleSystemEvent(const SystemEvent& event)
+        {
+            boost::function0<void>* function_ptr = event.getData< boost::function0<void> >();
+            (*function_ptr)();
+            delete function_ptr;
+        }
+    };
+
+    FunctionCaller internal_function_caller;
 }; // class SystemQueue
 
