Index: code/branches/core7/src/libraries/core/GUIManager.cc
===================================================================
--- code/branches/core7/src/libraries/core/GUIManager.cc	(revision 10379)
+++ code/branches/core7/src/libraries/core/GUIManager.cc	(revision 10380)
@@ -255,4 +255,6 @@
     SetConsoleCommand("toggleGUI", &GUIManager::toggleGUI).defaultValue(1, false).defaultValue(2, false);
 
+    RegisterAbstractClass(GUIManager).inheritsFrom<WindowEventListener>();
+
     /**
     @brief
Index: code/branches/core7/src/libraries/core/Game.cc
===================================================================
--- code/branches/core7/src/libraries/core/Game.cc	(revision 10379)
+++ code/branches/core7/src/libraries/core/Game.cc	(revision 10380)
@@ -77,4 +77,6 @@
     };
 
+    RegisterAbstractClass(Game).inheritsFrom<Configurable>();
+
     Game::Game(const std::string& cmdLine)
         : gameClock_(NULL)
Index: code/branches/core7/src/libraries/core/GraphicsManager.cc
===================================================================
--- code/branches/core7/src/libraries/core/GraphicsManager.cc	(revision 10379)
+++ code/branches/core7/src/libraries/core/GraphicsManager.cc	(revision 10380)
@@ -93,4 +93,6 @@
 
     GraphicsManager* GraphicsManager::singletonPtr_s = 0;
+
+    RegisterAbstractClass(GraphicsManager).inheritsFrom<Configurable>();
 
     GraphicsManager::GraphicsManager(bool bLoadRenderer)
Index: code/branches/core7/src/libraries/core/input/InputManager.cc
===================================================================
--- code/branches/core7/src/libraries/core/input/InputManager.cc	(revision 10379)
+++ code/branches/core7/src/libraries/core/input/InputManager.cc	(revision 10380)
@@ -86,4 +86,6 @@
     }
 
+    RegisterAbstractClass(InputManager).inheritsFrom<WindowEventListener>();
+
     // ############################################################
     // #####                  Initialisation                  #####
Index: code/branches/core7/src/libraries/core/input/JoyStickQuantityListener.cc
===================================================================
--- code/branches/core7/src/libraries/core/input/JoyStickQuantityListener.cc	(revision 10379)
+++ code/branches/core7/src/libraries/core/input/JoyStickQuantityListener.cc	(revision 10380)
@@ -36,4 +36,6 @@
     std::vector<JoyStick*> JoyStickQuantityListener::joyStickList_s;
 
+    RegisterAbstractClass(JoyStickQuantityListener).inheritsFrom<Listable>();
+
     JoyStickQuantityListener::JoyStickQuantityListener()
     {
Index: code/branches/core7/src/libraries/core/input/KeyBinder.cc
===================================================================
--- code/branches/core7/src/libraries/core/input/KeyBinder.cc	(revision 10379)
+++ code/branches/core7/src/libraries/core/input/KeyBinder.cc	(revision 10380)
@@ -43,4 +43,6 @@
 namespace orxonox
 {
+    RegisterAbstractClass(KeyBinder).inheritsFrom<JoyStickQuantityListener>();
+
     /**
     @brief
Index: code/branches/core7/src/libraries/core/input/KeyBinderManager.cc
===================================================================
--- code/branches/core7/src/libraries/core/input/KeyBinderManager.cc	(revision 10379)
+++ code/branches/core7/src/libraries/core/input/KeyBinderManager.cc	(revision 10380)
@@ -52,4 +52,6 @@
     SetConsoleCommand(__CC_unbind_name,   &KeyBinderManager::unbind).defaultValues("");
     SetConsoleCommand(__CC_tunbind_name,  &KeyBinderManager::tunbind).defaultValues("");
+
+    RegisterAbstractClass(KeyBinderManager).inheritsFrom<Configurable>();
 
     KeyBinderManager::KeyBinderManager()
Index: code/branches/core7/src/libraries/core/input/KeyDetector.cc
===================================================================
--- code/branches/core7/src/libraries/core/input/KeyDetector.cc	(revision 10379)
+++ code/branches/core7/src/libraries/core/input/KeyDetector.cc	(revision 10380)
@@ -43,4 +43,6 @@
     DeclareConsoleCommand(__CC_KeyDetector_callback_name, &prototype::void__string).hide();
 
+    RegisterAbstractClass(KeyDetector).inheritsFrom<KeyBinder>();
+
     KeyDetector::KeyDetector()
         : KeyBinder("")
Index: code/branches/core7/src/libraries/core/input/Mouse.cc
===================================================================
--- code/branches/core7/src/libraries/core/input/Mouse.cc	(revision 10379)
+++ code/branches/core7/src/libraries/core/input/Mouse.cc	(revision 10380)
@@ -50,4 +50,6 @@
     SetConsoleCommand(__CC_Mouse_name, __CC_ungrab_name, &Mouse::ungrab);
 #endif
+
+    RegisterAbstractClass(Mouse).inheritsFrom<WindowEventListener>();
 
     Mouse::Mouse(unsigned int id, OIS::InputManager* oisInputManager)
Index: code/branches/core7/src/libraries/network/Host.cc
===================================================================
--- code/branches/core7/src/libraries/network/Host.cc	(revision 10379)
+++ code/branches/core7/src/libraries/network/Host.cc	(revision 10380)
@@ -143,4 +143,6 @@
   //////////////////////////////////////////////////////////////////////////
 
+  RegisterAbstractClass(NetworkChatListener).inheritsFrom<Listable>();
+
   NetworkChatListener::NetworkChatListener()
   {
Index: code/branches/core7/src/modules/designtools/ScreenshotManager.cc
===================================================================
--- code/branches/core7/src/modules/designtools/ScreenshotManager.cc	(revision 10379)
+++ code/branches/core7/src/modules/designtools/ScreenshotManager.cc	(revision 10380)
@@ -63,4 +63,6 @@
     ManageScopedSingleton(ScreenshotManager, ScopeID::Graphics, false);
 
+    RegisterAbstractClass(ScreenshotManager).inheritsFrom<Configurable>();
+
     /**
     @brief
Index: code/branches/core7/src/modules/designtools/SkyboxGenerator.cc
===================================================================
--- code/branches/core7/src/modules/designtools/SkyboxGenerator.cc	(revision 10379)
+++ code/branches/core7/src/modules/designtools/SkyboxGenerator.cc	(revision 10380)
@@ -61,4 +61,6 @@
 
     ManageScopedSingleton(SkyboxGenerator, ScopeID::Graphics, false);
+
+    RegisterAbstractClass(SkyboxGenerator).inheritsFrom<Configurable>().inheritsFrom<Tickable>();
 
     /**
Index: code/branches/core7/src/modules/notifications/NotificationManager.cc
===================================================================
--- code/branches/core7/src/modules/notifications/NotificationManager.cc	(revision 10379)
+++ code/branches/core7/src/modules/notifications/NotificationManager.cc	(revision 10380)
@@ -48,4 +48,6 @@
 
     ManageScopedSingleton(NotificationManager, ScopeID::Root, false);
+
+    RegisterAbstractClass(NotificationManager).inheritsFrom<NotificationListener>();
 
     /**
Index: code/branches/core7/src/modules/pickup/PickupManager.cc
===================================================================
--- code/branches/core7/src/modules/pickup/PickupManager.cc	(revision 10379)
+++ code/branches/core7/src/modules/pickup/PickupManager.cc	(revision 10380)
@@ -61,4 +61,6 @@
     registerStaticNetworkFunction(PickupManager::dropPickupNetworked);
     registerStaticNetworkFunction(PickupManager::usePickupNetworked);
+
+    RegisterAbstractClass(PickupManager).inheritsFrom<PickupListener>();
 
     /**
Index: code/branches/core7/src/orxonox/LevelManager.cc
===================================================================
--- code/branches/core7/src/orxonox/LevelManager.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/LevelManager.cc	(revision 10380)
@@ -53,4 +53,6 @@
     ManageScopedSingleton(LevelManager, ScopeID::Root, false);
 
+    RegisterAbstractClass(LevelManager).inheritsFrom<Configurable>();
+
     /**
     @brief
Index: code/branches/core7/src/orxonox/MoodManager.cc
===================================================================
--- code/branches/core7/src/orxonox/MoodManager.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/MoodManager.cc	(revision 10380)
@@ -40,4 +40,7 @@
     // Note: I'm (Kevin Young) not entirely sure whether that's good code style:
     const std::string MoodManager::defaultMood_ = "default";
+
+    RegisterAbstractClass(MoodListener).inheritsFrom<OrxonoxInterface>();
+    RegisterAbstractClass(MoodManager).inheritsFrom<Configurable>();
 
     MoodManager::MoodManager()
Index: code/branches/core7/src/orxonox/PawnManager.cc
===================================================================
--- code/branches/core7/src/orxonox/PawnManager.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/PawnManager.cc	(revision 10380)
@@ -37,4 +37,6 @@
     ManageScopedSingleton(PawnManager, ScopeID::Root, false);
 
+    RegisterAbstractClass(PawnManager).inheritsFrom<Tickable>();
+
     PawnManager::PawnManager()
     {
Index: code/branches/core7/src/orxonox/PlayerManager.cc
===================================================================
--- code/branches/core7/src/orxonox/PlayerManager.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/PlayerManager.cc	(revision 10380)
@@ -40,4 +40,6 @@
 {
     ManageScopedSingleton(PlayerManager, ScopeID::Root, false);
+
+    RegisterAbstractClass(PlayerManager).inheritsFrom<ClientConnectionListener>();
 
     PlayerManager::PlayerManager()
Index: code/branches/core7/src/orxonox/ShipPartManager.cc
===================================================================
--- code/branches/core7/src/orxonox/ShipPartManager.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/ShipPartManager.cc	(revision 10380)
@@ -37,4 +37,6 @@
     ManageScopedSingleton(ShipPartManager, ScopeID::Root, false);
 
+    RegisterAbstractClass(ShipPartManager).inheritsFrom<Tickable>();
+
     ShipPartManager::ShipPartManager()
     {
Index: code/branches/core7/src/orxonox/chat/ChatHistory.cc
===================================================================
--- code/branches/core7/src/orxonox/chat/ChatHistory.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/chat/ChatHistory.cc	(revision 10380)
@@ -35,4 +35,7 @@
   /* singleton */
   ManageScopedSingleton( ChatHistory, ScopeID::Root, false );
+
+  RegisterAbstractClass(ChatHistory).inheritsFrom<ChatListener>();
+
 #endif
 
Index: code/branches/core7/src/orxonox/chat/ChatInputHandler.cc
===================================================================
--- code/branches/core7/src/orxonox/chat/ChatInputHandler.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/chat/ChatInputHandler.cc	(revision 10380)
@@ -68,4 +68,6 @@
   SetConsoleCommand( "startchat_small", &ChatInputHandler::activate_small_static );
 
+  RegisterAbstractClass(ChatInputHandler).inheritsFrom<ChatListener>();
+
   /* constructor */
   ChatInputHandler::ChatInputHandler()
Index: code/branches/core7/src/orxonox/chat/ChatManager.cc
===================================================================
--- code/branches/core7/src/orxonox/chat/ChatManager.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/chat/ChatManager.cc	(revision 10380)
@@ -43,4 +43,6 @@
 
     SetConsoleCommand("chat", &ChatManager::chat).defaultValue(1, NETWORK_PEER_ID_BROADCAST);
+
+    RegisterAbstractClass(ChatManager).inheritsFrom<NetworkChatListener>();
 
     ChatManager::ChatManager()
Index: code/branches/core7/src/orxonox/collisionshapes/WorldEntityCollisionShape.cc
===================================================================
--- code/branches/core7/src/orxonox/collisionshapes/WorldEntityCollisionShape.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/collisionshapes/WorldEntityCollisionShape.cc	(revision 10380)
@@ -37,4 +37,6 @@
 namespace orxonox
 {
+    RegisterClass(WorldEntityCollisionShape);
+
     WorldEntityCollisionShape::WorldEntityCollisionShape(Context* context) : CompoundCollisionShape(context)
     {
Index: code/branches/core7/src/orxonox/gamestates/GSMainMenu.cc
===================================================================
--- code/branches/core7/src/orxonox/gamestates/GSMainMenu.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/gamestates/GSMainMenu.cc	(revision 10380)
@@ -63,4 +63,6 @@
     SetConsoleCommand(__CC_setMainMenuSoundPath_name, &GSMainMenu::setMainMenuSoundPath).hide();
 
+    RegisterAbstractClass(GSMainMenu).inheritsFrom<Configurable>();
+
     GSMainMenu::GSMainMenu(const GameStateInfo& info)
         : GameState(info)
Index: code/branches/core7/src/orxonox/interfaces/NotificationListener.cc
===================================================================
--- code/branches/core7/src/orxonox/interfaces/NotificationListener.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/interfaces/NotificationListener.cc	(revision 10380)
@@ -51,4 +51,6 @@
     registerStaticNetworkFunction(NotificationListener::sendHelper);
     
+    RegisterAbstractClass(NotificationListener).inheritsFrom<OrxonoxInterface>();
+
     NotificationListener::NotificationListener()
     {
Index: code/branches/core7/src/orxonox/interfaces/PickupListener.cc
===================================================================
--- code/branches/core7/src/orxonox/interfaces/PickupListener.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/interfaces/PickupListener.cc	(revision 10380)
@@ -40,4 +40,5 @@
 namespace orxonox
 {
+    RegisterAbstractClass(PickupListener).inheritsFrom<OrxonoxInterface>();
 
     /**
Index: code/branches/core7/src/orxonox/overlays/InGameConsole.cc
===================================================================
--- code/branches/core7/src/orxonox/overlays/InGameConsole.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/overlays/InGameConsole.cc	(revision 10380)
@@ -67,4 +67,6 @@
     ManageScopedSingleton(InGameConsole, ScopeID::Graphics, false);
 
+    RegisterAbstractClass(InGameConsole).inheritsFrom<WindowEventListener>();
+
     /**
         @brief Constructor: Creates and initializes the InGameConsole.
Index: code/branches/core7/src/orxonox/sound/AmbientSound.cc
===================================================================
--- code/branches/core7/src/orxonox/sound/AmbientSound.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/sound/AmbientSound.cc	(revision 10380)
@@ -36,4 +36,6 @@
 namespace orxonox
 {
+    RegisterAbstractClass(AmbientSound).inheritsFrom<BaseSound>().inheritsFrom<MoodListener>();
+
     AmbientSound::AmbientSound()
         : bPlayOnLoad_(false)
Index: code/branches/core7/src/orxonox/sound/SoundManager.cc
===================================================================
--- code/branches/core7/src/orxonox/sound/SoundManager.cc	(revision 10379)
+++ code/branches/core7/src/orxonox/sound/SoundManager.cc	(revision 10380)
@@ -66,4 +66,6 @@
     }
 
+    RegisterAbstractClass(SoundManager).inheritsFrom<Configurable>();
+
     SoundManager::SoundManager()
         : effectsPoolSize_(0)
