Index: src/UIElements/CommandLineUI/CommandLineParser.cpp
===================================================================
--- src/UIElements/CommandLineUI/CommandLineParser.cpp	(revision 1d3563e3cf6937663297eb9e5e881d34105948a0)
+++ src/UIElements/CommandLineUI/CommandLineParser.cpp	(revision 690741f440dd11d80473492d65b155ecd85e1aac)
@@ -112,15 +112,17 @@
   std::set<std::string> AlreadyAddedOptionNames;
 
-  ActionRegistry &AR = ActionQueue::getInstance().getActionRegistry();
   bool ActionAlreadyAdded_flag = false;
-  for (ActionRegistry::const_iterator actioniter = AR.getBeginIter(); actioniter != AR.getEndIter(); ++actioniter) {
+  ActionQueue &AQ = ActionQueue::getInstance();
+  ActionQueue::ActionTokens_t tokens = AQ.getListOfActions();
+  for (ActionQueue::ActionTokens_t::const_iterator iter = tokens.begin();
+      iter != tokens.end(); ++iter) {
+    const ActionTrait &CurrentTrait = AQ.getActionsTrait(*iter);
     ActionAlreadyAdded_flag = false;
-    Action* const currentAction = actioniter->second;
     //std::cout << "Current Action to initialize is: " << actioniter->first << std::endl;
 
-    for (ActionTrait::options_const_iterator optioniter = currentAction->Traits.getBeginIter();
-        optioniter != currentAction->Traits.getEndIter();
+    for (ActionTrait::options_const_iterator optioniter = CurrentTrait.getBeginIter();
+        optioniter != CurrentTrait.getEndIter();
         ++optioniter) {
-      if (optioniter->first == actioniter->first)
+      if (optioniter->first == *iter)
         ActionAlreadyAdded_flag = true;
       ASSERT( OptionRegistry::getInstance().isOptionPresentByName(optioniter->first),
@@ -169,7 +171,7 @@
 //      std::cout  << std::endl;
 
-      ASSERT(CmdParserLookup.find(currentAction->Traits.getMenuName()) != CmdParserLookup.end(),
+      ASSERT(CmdParserLookup.find(CurrentTrait.getMenuName()) != CmdParserLookup.end(),
           "CommandLineParser: boost::program_options::options_description for this Action not present.");
-      AddOptionToParser(dynamic_cast<const OptionTrait * const>(&(currentAction->Traits)),(CmdParserLookup[currentAction->Traits.getMenuName()]));
+      AddOptionToParser(dynamic_cast<const OptionTrait * const>(&CurrentTrait),(CmdParserLookup[CurrentTrait.getMenuName()]));
     }
   }
@@ -482,13 +484,17 @@
   std::map <std::string, std::string> result;
 
-  ActionRegistry &AR = ActionQueue::getInstance().getActionRegistry();
-  for (ActionRegistry::const_iterator iter = AR.getBeginIter(); iter != AR.getEndIter(); ++iter)
-    if ((iter->second)->Traits.hasShortForm()) {
-      ASSERT(result.find((iter->second)->Traits.getShortForm()) == result.end(),
-          "Short form "+toString((iter->second)->Traits.getShortForm())+
-          " for action "+toString(iter->first)+" already present from "+
-          std::string(result[(iter->second)->Traits.getShortForm()])+"!");
-      result[(iter->second)->Traits.getShortForm()] = (iter->second)->getName();
+  ActionQueue &AQ = ActionQueue::getInstance();
+  ActionQueue::ActionTokens_t tokens = AQ.getListOfActions();
+  for (ActionQueue::ActionTokens_t::const_iterator iter = tokens.begin();
+      iter != tokens.end(); ++iter) {
+    const ActionTrait &CurrentTrait = AQ.getActionsTrait(*iter);
+    if (CurrentTrait.hasShortForm()) {
+      ASSERT(result.find(CurrentTrait.getShortForm()) == result.end(),
+          "Short form "+toString(CurrentTrait.getShortForm())+
+          " for action "+toString(*iter)+" already present from "+
+          std::string(result[CurrentTrait.getShortForm()])+"!");
+      result[CurrentTrait.getShortForm()] = *iter;
     }
+  }
 
   return result;
Index: src/UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistencyUnitTest.cpp
===================================================================
--- src/UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistencyUnitTest.cpp	(revision 1d3563e3cf6937663297eb9e5e881d34105948a0)
+++ src/UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistencyUnitTest.cpp	(revision 690741f440dd11d80473492d65b155ecd85e1aac)
@@ -62,5 +62,4 @@
 void CommandLineParser_ActionRegistry_ConsistencyTest::setUp()
 {
-  AR = &ActionQueue::getInstance().getActionRegistry();
   CLP = CommandLineParser::getPointer();
 };
@@ -90,8 +89,10 @@
 
   // go through all Actions and gather menu names
-  for (ActionRegistry::const_iterator iter = AR->getBeginIter();
-      iter != AR->getEndIter();
-      ++iter) {
-    const std::string &MenuName = (iter->second)->Traits.getMenuName();
+  ActionQueue &AQ = ActionQueue::getInstance();
+  ActionQueue::ActionTokens_t tokens = AQ.getListOfActions();
+  for (ActionQueue::ActionTokens_t::const_iterator iter = tokens.begin();
+      iter != tokens.end(); ++iter) {
+    const ActionTrait &CurrentTrait = AQ.getActionsTrait(*iter);
+    const std::string &MenuName = CurrentTrait.getMenuName();
     MenuNames_from_ActionRegistry.insert(MenuName);
   }
@@ -105,5 +106,4 @@
   }
 
-
   for (std::set <std::string>::const_iterator ARiter = MenuNames_from_ActionRegistry.begin();
       ARiter != MenuNames_from_ActionRegistry.end();
Index: src/UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistencyUnitTest.hpp
===================================================================
--- src/UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistencyUnitTest.hpp	(revision 1d3563e3cf6937663297eb9e5e881d34105948a0)
+++ src/UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistencyUnitTest.hpp	(revision 690741f440dd11d80473492d65b155ecd85e1aac)
@@ -19,8 +19,4 @@
 class CommandLineParser;
 
-namespace MoleCuilder {
-  class ActionRegistry;
-}
-
 /********************************************** Test classes **************************************/
 
@@ -37,5 +33,4 @@
 
 private:
-      MoleCuilder::ActionRegistry *AR;
       CommandLineParser *CLP;
 };
