Index: src/Actions/CmdAction/BondLengthTableAction.cpp
===================================================================
--- src/Actions/CmdAction/BondLengthTableAction.cpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/BondLengthTableAction.cpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -39,6 +39,6 @@
 };
 
-Dialog* CommandLineBondLengthTableAction::createDialog() {
-  Dialog *dialog = UIFactory::getInstance().makeDialog();
+Dialog* CommandLineBondLengthTableAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
 
   dialog->queryString(NAME, ValueStorage::getInstance().getDescription(NAME));
Index: src/Actions/CmdAction/BondLengthTableAction.hpp
===================================================================
--- src/Actions/CmdAction/BondLengthTableAction.hpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/BondLengthTableAction.hpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -24,6 +24,7 @@
 
   virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
 private:
-  virtual Dialog * createDialog();
   virtual Action::state_ptr performCall();
   virtual Action::state_ptr performUndo(Action::state_ptr);
Index: src/Actions/CmdAction/ElementDbAction.cpp
===================================================================
--- src/Actions/CmdAction/ElementDbAction.cpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/ElementDbAction.cpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -39,6 +39,6 @@
 };
 
-Dialog* CommandLineElementDbAction::createDialog() {
-  Dialog *dialog = UIFactory::getInstance().makeDialog();
+Dialog* CommandLineElementDbAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
 
   dialog->queryString(NAME, ValueStorage::getInstance().getDescription(NAME));
Index: src/Actions/CmdAction/ElementDbAction.hpp
===================================================================
--- src/Actions/CmdAction/ElementDbAction.hpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/ElementDbAction.hpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -24,6 +24,7 @@
 
   virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
 private:
-  virtual Dialog * createDialog();
   virtual Action::state_ptr performCall();
   virtual Action::state_ptr performUndo(Action::state_ptr);
Index: src/Actions/CmdAction/FastParsingAction.cpp
===================================================================
--- src/Actions/CmdAction/FastParsingAction.cpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/FastParsingAction.cpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -49,6 +49,6 @@
 };
 
-Dialog* CommandLineFastParsingAction::createDialog() {
-  Dialog *dialog = UIFactory::getInstance().makeDialog();
+Dialog* CommandLineFastParsingAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
 
   dialog->queryBoolean(NAME, MapOfActions::getInstance().getDescription(NAME));
Index: src/Actions/CmdAction/FastParsingAction.hpp
===================================================================
--- src/Actions/CmdAction/FastParsingAction.hpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/FastParsingAction.hpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -24,6 +24,7 @@
 
   virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
 private:
-  virtual Dialog * createDialog();
   virtual Action::state_ptr performCall();
   virtual Action::state_ptr performUndo(Action::state_ptr);
Index: src/Actions/CmdAction/HelpAction.cpp
===================================================================
--- src/Actions/CmdAction/HelpAction.cpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/HelpAction.cpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -34,6 +34,6 @@
 };
 
-Dialog* CommandLineHelpAction::createDialog() {
-  Dialog *dialog = UIFactory::getInstance().makeDialog();
+Dialog* CommandLineHelpAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
 
   ostringstream usage;
Index: src/Actions/CmdAction/HelpAction.hpp
===================================================================
--- src/Actions/CmdAction/HelpAction.hpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/HelpAction.hpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -24,6 +24,7 @@
 
   virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
 private:
-  virtual Dialog * createDialog();
   virtual Action::state_ptr performCall();
   virtual Action::state_ptr performUndo(Action::state_ptr);
Index: src/Actions/CmdAction/VerboseAction.cpp
===================================================================
--- src/Actions/CmdAction/VerboseAction.cpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/VerboseAction.cpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -47,6 +47,6 @@
 };
 
-Dialog* CommandLineVerboseAction::createDialog() {
-  Dialog *dialog = UIFactory::getInstance().makeDialog();
+Dialog* CommandLineVerboseAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
 
   dialog->queryInt(NAME, ValueStorage::getInstance().getDescription(NAME));
Index: src/Actions/CmdAction/VerboseAction.hpp
===================================================================
--- src/Actions/CmdAction/VerboseAction.hpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/VerboseAction.hpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -24,6 +24,7 @@
 
   virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
 private:
-  virtual Dialog * createDialog();
   virtual Action::state_ptr performCall();
   virtual Action::state_ptr performUndo(Action::state_ptr);
Index: src/Actions/CmdAction/VersionAction.cpp
===================================================================
--- src/Actions/CmdAction/VersionAction.cpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/VersionAction.cpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -33,6 +33,6 @@
 };
 
-Dialog* CommandLineVersionAction::createDialog() {
-  Dialog *dialog = UIFactory::getInstance().makeDialog();
+Dialog* CommandLineVersionAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
 
   dialog->queryEmpty(NAME, ESPACKVersion);
Index: src/Actions/CmdAction/VersionAction.hpp
===================================================================
--- src/Actions/CmdAction/VersionAction.hpp	(revision 0430e3120648e3906f33481ea1869d1cb3df52a9)
+++ src/Actions/CmdAction/VersionAction.hpp	(revision c508ef501e6259b2d06b29fc1c28beafbb772063)
@@ -25,6 +25,7 @@
 
   virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
 private:
-  virtual Dialog * createDialog();
   virtual Action::state_ptr performCall();
   virtual Action::state_ptr performUndo(Action::state_ptr);
