Index: src/UIElements/CommandLineUI/CommandLineWindow.cpp
===================================================================
--- src/UIElements/CommandLineUI/CommandLineWindow.cpp	(revision 4f7f34ebe3887720f1827172d2ebad1e1c5ca8aa)
+++ src/UIElements/CommandLineUI/CommandLineWindow.cpp	(revision 326bbe40da9599dc046e0fdfe636d1742946e288)
@@ -13,45 +13,8 @@
 #include "CommandLineUI/CommandLineStatusIndicator.hpp"
 
+#include "Actions/Action.hpp"
+#include "Actions/MapOfActions.hpp"
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/AnalysisAction/MolecularVolumeAction.hpp"
-#include "Actions/AnalysisAction/PairCorrelationAction.hpp"
-#include "Actions/AnalysisAction/PrincipalAxisSystemAction.hpp"
-#include "Actions/AtomAction/AddAction.hpp"
-#include "Actions/AtomAction/ChangeElementAction.hpp"
-#include "Actions/AtomAction/RemoveAction.hpp"
-#include "Actions/CmdAction/BondLengthTableAction.hpp"
-#include "Actions/CmdAction/ElementDbAction.hpp"
-#include "Actions/CmdAction/FastParsingAction.hpp"
-#include "Actions/CmdAction/HelpAction.hpp"
-#include "Actions/CmdAction/VerboseAction.hpp"
-#include "Actions/CmdAction/VersionAction.hpp"
-#include "Actions/FragmentationAction/DepthFirstSearchAction.hpp"
-#include "Actions/FragmentationAction/SubgraphDissectionAction.hpp"
-#include "Actions/FragmentationAction/FragmentationAction.hpp"
-#include "Actions/MoleculeAction/BondFileAction.hpp"
-#include "Actions/MoleculeAction/ChangeNameAction.hpp"
-#include "Actions/MoleculeAction/FillWithMoleculeAction.hpp"
-#include "Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.hpp"
-#include "Actions/MoleculeAction/SaveAdjacencyAction.hpp"
-#include "Actions/MoleculeAction/SaveBondsAction.hpp"
-#include "Actions/MoleculeAction/SaveTemperatureAction.hpp"
-#include "Actions/MoleculeAction/TranslateAction.hpp"
-#include "Actions/MoleculeAction/VerletIntegrationAction.hpp"
-#include "Actions/ParserAction/LoadXyzAction.hpp"
-#include "Actions/ParserAction/SaveXyzAction.hpp"
-#include "Actions/TesselationAction/ConvexEnvelopeAction.hpp"
-#include "Actions/TesselationAction/NonConvexEnvelopeAction.hpp"
-#include "Actions/WorldAction/AddEmptyBoundaryAction.hpp"
-#include "Actions/WorldAction/BoundInBoxAction.hpp"
-#include "Actions/WorldAction/CenterInBoxAction.hpp"
-#include "Actions/WorldAction/CenterOnEdgeAction.hpp"
-#include "Actions/WorldAction/ChangeBoxAction.hpp"
-#include "Actions/WorldAction/InputAction.hpp"
-#include "Actions/WorldAction/OutputAction.hpp"
-#include "Actions/WorldAction/RemoveSphereOfAtomsAction.hpp"
-#include "Actions/WorldAction/RepeatBoxAction.hpp"
-#include "Actions/WorldAction/ScaleBoxAction.hpp"
-#include "Actions/WorldAction/SetDefaultNameAction.hpp"
-#include "Actions/WorldAction/SetGaussianBasisAction.hpp"
+
 #include "CommandLineParser.hpp"
 
@@ -64,12 +27,5 @@
 {
   // create and register all command line callable actions
-  populateAnalysisActions();
-  populateAtomActions();
-  populateCmdActions();
-  populateFragmentationActions();
-  populateMoleculeActions();
-  populateParserActions();
-  populateTesselationActions();
-  populateWorldActions();
+  MapOfActions::getInstance().populateActions();
 
   // Add status indicators etc...
@@ -97,73 +53,2 @@
 }
 
-void CommandLineWindow::populateAnalysisActions()
-{
-  new AnalysisMolecularVolumeAction();
-  new AnalysisPairCorrelationAction();
-  new AnalysisPrincipalAxisSystemAction();
-}
-
-void CommandLineWindow::populateAtomActions()
-{
-  new AtomAddAction();
-  new AtomChangeElementAction();
-  new AtomRemoveAction();
-}
-
-void CommandLineWindow::populateCmdActions()
-{
-  new CommandLineBondLengthTableAction();
-  new CommandLineElementDbAction();
-  new CommandLineFastParsingAction();
-  new CommandLineHelpAction();
-  new CommandLineVerboseAction();
-  new CommandLineVersionAction();
-}
-
-void CommandLineWindow::populateFragmentationActions()
-{
-  new FragmentationDepthFirstSearchAction();
-  new FragmentationFragmentationAction();
-  new FragmentationSubgraphDissectionAction();
-}
-
-void CommandLineWindow::populateMoleculeActions()
-{
-  new MoleculeBondFileAction();
-  new MoleculeChangeNameAction();
-  new MoleculeFillWithMoleculeAction();
-  new MoleculeLinearInterpolationofTrajectoriesAction();
-  new MoleculeSaveAdjacencyAction();
-  new MoleculeSaveBondsAction();
-  new MoleculeSaveTemperatureAction();
-  new MoleculeTranslateAction();
-  new MoleculeVerletIntegrationAction();
-}
-
-void CommandLineWindow::populateParserActions()
-{
-  new ParserLoadXyzAction();
-  new ParserSaveXyzAction();
-}
-
-void CommandLineWindow::populateTesselationActions()
-{
-  new TesselationConvexEnvelopeAction();
-  new TesselationNonConvexEnvelopeAction();
-}
-
-void CommandLineWindow::populateWorldActions()
-{
-  new WorldAddEmptyBoundaryAction();
-  new WorldBoundInBoxAction();
-  new WorldCenterInBoxAction();
-  new WorldCenterOnEdgeAction();
-  new WorldChangeBoxAction();
-  new WorldInputAction();
-  new WorldOutputAction();
-  new WorldRemoveSphereOfAtomsAction();
-  new WorldRepeatBoxAction();
-  new WorldScaleBoxAction();
-  new WorldSetDefaultNameAction();
-  new WorldSetGaussianBasisAction();
-}
