Index: trunk/src/lib/lang/base_object.cc
===================================================================
--- trunk/src/lib/lang/base_object.cc	(revision 8783)
+++ trunk/src/lib/lang/base_object.cc	(revision 9406)
@@ -21,9 +21,4 @@
 #include "util/loading/load_param.h"
 #include "class_list.h"
-
-#include "synchronizeable.h"
-
-using namespace std;
-
 
 /**
@@ -50,5 +45,4 @@
   ClassList::removeFromClassList(this);
 
-  //  delete []this->className;
   if (this->xmlElem != NULL)
     delete this->xmlElem;
@@ -61,10 +55,12 @@
 void BaseObject::loadParams(const TiXmlElement* root)
 {
-  // all loadParams should sometime arrive here.
+  // all loadParams should arrive here, and be tested for (root != NULL)
   assert (root != NULL);
 
+  // copy the xml-element for to know how it was loaded.
   if (this->xmlElem != NULL)
     delete this->xmlElem;
   this->xmlElem = root->Clone();
+
   // name setup
   LoadParam(root, "name", this, BaseObject, setName)
@@ -92,4 +88,5 @@
 /**
  * @brief set the name of the Object
+ * @param objectName The new name of the Object.
  */
 void BaseObject::setName (const std::string& objectName)
@@ -164,16 +161,7 @@
  * @returns true on match, false otherwise.
  */
-bool BaseObject::operator==(const std::string& objectName)
+bool BaseObject::operator==(const std::string& objectName) const
 {
   return (this->objectName == objectName);
 }
 
-
-/**
- * @brief displays everything this class is
- * @TODO REIMPLEMENT WITH SENSE.
- */
-void BaseObject::whatIs() const
-{
-
-}
Index: trunk/src/lib/lang/base_object.h
===================================================================
--- trunk/src/lib/lang/base_object.h	(revision 8783)
+++ trunk/src/lib/lang/base_object.h	(revision 9406)
@@ -1,14 +1,20 @@
 /*!
  * @file base_object.h
-  *  Definition of the base object class.
-
-    This is a global handler for all classes.
-*/
+ * @brief Definition of the BaseObject class.
+ *
+ * This is a global handler for all classes Object and Class names
+ *
+ * BaseObject is the class, that handles object registration and
+ * is the only write-access member of ClassList, where the Objects
+ * References are stored.
+ */
 
 
-#ifndef _BASE_OBJECT_H
-#define _BASE_OBJECT_H
+#ifndef __BASE_OBJECT_H_
+#define __BASE_OBJECT_H_
 
 #include "class_id.h"
+#include "sigslot/slot.h"
+
 #include <string>
 
@@ -18,5 +24,5 @@
 
 //! A class all other classes are derived from
-class BaseObject
+class BaseObject : public sigslot::has_slots<>
 {
 
@@ -29,10 +35,14 @@
   void setName (const std::string& newName);
   /** returns the Name of this Object */
-  inline const char* getName ()const { return this->objectName.c_str(); };
+  inline const std::string& getName() const { return this->objectName; };
+  /** returns the Name of this Object as a C-compliant string (const char*) */
+  inline const char* getCName() const { return this->objectName.c_str(); };
   /** @returns the XML-Element with whicht this Object was loaded */
   inline TiXmlNode* getXmlElem() const { return this->xmlElem; };
 
   /** @returns the className of the corresponding Object */
-  inline const char* getClassName() const { return this->className.c_str(); };
+  inline const std::string& getClassName() const { return this->className; }
+  /** @returns the className of the corresponding Object as a C-compliant string (const char*) */
+  inline const char* getClassCName() const { return this->className.c_str(); };
   /** @returns the classID of the corresponding Object */
   inline int getClassID() const { return this->classID; };
@@ -41,9 +51,8 @@
   bool isA (ClassID classID) const;
   bool isA (const std::string& className) const;
-  void whatIs() const;
 
-  bool operator==(const std::string& objectName);
   /** @param classID comparer for a ClassID @returns true on match, false otherwise */
-  bool operator==(ClassID classID) { return this->isA(classID); };
+  bool operator==(ClassID classID) const  { return this->isA(classID); };
+  bool operator==(const std::string& objectName) const;
 
 protected:
@@ -54,5 +63,4 @@
 
 private:
-
   std::string        className;        //!< the name of the class
   long               classID;          //!< this is the id from the class_id.h enumeration
@@ -64,3 +72,3 @@
 };
 
-#endif /* _BASE_OBJECT_H */
+#endif /* __BASE_OBJECT_H_ */
Index: trunk/src/lib/lang/class_list.cc
===================================================================
--- trunk/src/lib/lang/class_list.cc	(revision 8783)
+++ trunk/src/lib/lang/class_list.cc	(revision 9406)
@@ -23,5 +23,5 @@
 #include <cmath>
 
-using namespace std;
+
 
 /**
@@ -61,5 +61,5 @@
 {
   if (unlikely(classList == NULL))
-    ClassList::classList = new list<ClassList>();
+    ClassList::classList = new std::list<ClassList>();
 
   PRINTF(5)("subscribe a '%s'\n", className.c_str() );
@@ -85,5 +85,5 @@
 void ClassList::removeFromClassList(BaseObject* objectPointer)
 {
-  list<ClassList>::iterator cl;
+  std::list<ClassList>::iterator cl;
   for(cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
   {
@@ -110,5 +110,5 @@
       ClassList::classNames.clear();
 
-      list<ClassList>::const_iterator cl;
+      std::list<ClassList>::const_iterator cl;
       for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
         ClassList::classNames.push_back((*cl).className);
@@ -207,5 +207,5 @@
       std::list<BaseObject*>::iterator bo;
       for (bo = cl->objectList.begin(); bo != cl->objectList.end(); bo++)
-        if ((*bo)->getName() != NULL && objectName == (*bo)->getName())
+        if (objectName == (*bo)->getName())
           return (*bo);
     }
@@ -213,10 +213,10 @@
   else
   {
-    list<ClassList>::iterator cl;
+    std::list<ClassList>::iterator cl;
     for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
     {
       std::list<BaseObject*>::iterator bo;
       for (bo = (*cl).objectList.begin(); bo != (*cl).objectList.end(); bo++)
-        if ((*bo)->getName() != NULL && objectName == (*bo)->getName())
+        if (objectName == (*bo)->getName())
           return (*bo);
     }
@@ -241,5 +241,5 @@
     std::list<BaseObject*>::iterator bo;
     for (bo = cl->objectList.begin(); bo != cl->objectList.end(); bo++)
-      if ((*bo)->getName() != NULL && objectName == (*bo)->getName())
+      if (objectName == (*bo)->getName())
         return (*bo);
   }
@@ -268,5 +268,5 @@
   else
   {
-    list<ClassList>::iterator cl;
+    std::list<ClassList>::iterator cl;
     for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
     {
@@ -286,5 +286,5 @@
     std::list<BaseObject*>::iterator bo;
     for (bo = cl->objectList.begin(); bo != cl->objectList.end(); bo++)
-      if ((*bo)->getName() != NULL && objectName == (*bo)->getName())
+      if (objectName == (*bo)->getName())
         return true;
   }
@@ -299,5 +299,5 @@
 void ClassList::whatIs(const BaseObject* object)
 {
-  list<ClassList>::iterator cl;
+  std::list<ClassList>::iterator cl;
   for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
     if (object->isA((*cl).classID))
@@ -359,5 +359,5 @@
   int lenCount = 0;
 
-  list<ClassList>::iterator cl;
+  std::list<ClassList>::iterator cl;
   for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
   {
@@ -377,8 +377,8 @@
       {
         PRINT(0)("|  Listing Instances:\n");
-        list<BaseObject*>::const_iterator bo;
+        std::list<BaseObject*>::const_iterator bo;
         for (bo = (*cl).objectList.begin(); bo != (*cl).objectList.end(); bo++)
         {
-          PRINT(0)("|   %s::%s::(0x%.8X->%p ", (*bo)->getClassName(), (*bo)->getName(), (*bo)->getClassID(), (*bo));
+          PRINT(0)("|   %s::%s::(0x%.8X->%p ", (*bo)->getClassCName(), (*bo)->getCName(), (*bo)->getClassID(), (*bo));
           if (debugLevel == 3)
             ClassList::whatIs(*bo);
