Index: src/Actions/Action.cpp
===================================================================
--- src/Actions/Action.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/Action.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -49,5 +49,5 @@
 Action::state_ptr Action::failure = getEmptyState();
 
-Action::Action(const ActionTraits &_Traits, bool _doRegister) :
+Action::Action(const ActionTrait &_Traits, bool _doRegister) :
     Traits(_Traits)
 {
@@ -58,5 +58,5 @@
 
   // register with OptionRegistry
-  for (ActionTraits::options_const_iterator optioniter = Traits.getBeginIter();
+  for (ActionTrait::options_const_iterator optioniter = Traits.getBeginIter();
       optioniter != Traits.getEndIter();
       ++optioniter) {
@@ -106,5 +106,5 @@
       ActionRegistry::getInstance().unregisterInstance(this);
 
-  for (ActionTraits::options_const_iterator optioniter = Traits.getBeginIter();
+  for (ActionTrait::options_const_iterator optioniter = Traits.getBeginIter();
       optioniter != Traits.getEndIter();
       ++optioniter) {
@@ -131,5 +131,5 @@
   }
   outputstream << "Options available for action '" << getName() << "':" << std::endl;
-  for (ActionTraits::options_const_iterator iter = Traits.getBeginIter();
+  for (ActionTrait::options_const_iterator iter = Traits.getBeginIter();
       iter != Traits.getEndIter();
       ++iter) {
Index: src/Actions/Action.hpp
===================================================================
--- src/Actions/Action.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/Action.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -31,5 +31,5 @@
 class Dialog;
 
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 
 
@@ -68,5 +68,5 @@
    * \param _doRegister whether to register with ActionRegistry
    */
-  Action(const ActionTraits &_Traits, bool _doRegister=true);
+  Action(const ActionTrait &_Traits, bool _doRegister=true);
   virtual ~Action();
 
@@ -126,9 +126,9 @@
    * Note that is important that we do not use a reference here. We want to copy the
    * information in the Action's constructor and have it contained herein. Hence, we
-   * also have our own copy constructor for ActionTraits. Information should be
+   * also have our own copy constructor for ActionTrait. Information should be
    * encapsulated in the Action, no more references to the outside than absolutely
    * necessary.
    */
-  const ActionTraits Traits;
+  const ActionTrait Traits;
 
   /** Removes the static entities Action::success and Action::failure.
Index: src/Actions/ActionTrait.cpp
===================================================================
--- src/Actions/ActionTrait.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
+++ src/Actions/ActionTrait.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -0,0 +1,183 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * ActionTrait.cpp
+ *
+ *  Created on: Oct 26, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "Actions/ActionTrait.hpp"
+
+#include "CodePatterns/Assert.hpp"
+
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <typeinfo>
+
+using namespace MoleCuilder;
+
+/** Copy constructor for base class ActionTrait.
+ * \param &_Traits source ActionTrait class to copy
+ */
+ActionTrait::ActionTrait(const std::string &_token) :
+  OptionTrait(_token,
+      &typeid(void),
+      "this is an invisible action",
+      "",
+      ""
+  )
+{
+  //std::cout << "ActionTrait::ActionTrait(string &) on instance " << this << " with " << getName() << ", type " << getTypeName() << " and description " << getDescription() << std::endl;
+}
+
+/** Copy constructor for base class ActionTrait.
+ * we have to make our own copy in order to avoid references and deep-copy everything.
+ * \param &_Traits source ActionTrait class to copy
+ */
+ActionTrait::ActionTrait(const ActionTrait &_Traits) :
+  OptionTrait(_Traits),
+  MenuTitle(_Traits.MenuTitle),
+  MenuPosition(_Traits.MenuPosition)
+{
+  for (options_const_iterator iter = _Traits.Options.begin(); iter != _Traits.Options.end(); ++iter) {
+    Options.insert(
+        std::make_pair(
+            iter->first,
+            new OptionTrait(*iter->second)
+        )
+    );
+  }
+  //std::cout << "ActionTrait::ActionTrait(ActionTrait &) on instance " << this << " with " << getName() << ", type " << getTypeName() << " and description " << getDescription() << std::endl;
+}
+
+/** Copy constructor for base class ActionTrait.
+ * we have to make our own copy in order to avoid references and deep-copy everything.
+ * \param &_Traits source OptionTrait class to copy
+ */
+ActionTrait::ActionTrait(const OptionTrait &_Traits, const std::string _MenuTitle, const int _MenuPosition) :
+  OptionTrait(_Traits),
+  MenuTitle(_MenuTitle),
+  MenuPosition(_MenuPosition)
+{
+  //std::cout << "ActionTrait::ActionTrait(OptionTrait &) on instance " << this << " with " << getName() << ", type " << getTypeName() << " and description " << getDescription() << std::endl;
+}
+
+/** Constructor for base class ActionTrait.
+ * Deletes all present Options.
+ */
+ActionTrait::~ActionTrait()
+{
+  //std::cout << "ActionTrait::~ActionTrait() on instance " << this << " with name " << getName() << " called." << std::endl;
+  for (options_iterator iter = Options.begin(); iter != Options.end(); ++iter) {
+    //std::cout << "ActionTrait::~ActionTrait() removes option instance " << iter->second << " with name " << iter->first << "." << std::endl;
+    delete iter->second;
+  }
+  Options.clear();
+}
+
+
+/** Returns menu title for this ActionTrait.
+ * \return ActionTrait::MenuTitle as std::string
+ */
+const std::string& ActionTrait::getMenuName() const
+{
+  return MenuTitle;
+}
+
+/** Returns menu title for this ActionTrait.
+ * \return ActionTrait::MenuPosition as std::string
+ */
+int ActionTrait::getMenuPosition() const
+{
+  return MenuPosition;
+}
+
+/** Returns Description for the given option of this ActionTrait.
+ * \param &token token of option
+ * \return reference to OptionTrait
+ */
+OptionTrait const & ActionTrait::getOption(const std::string &token) const
+{
+  ASSERT(Options.find(token) != Options.end(),
+      "ActionTrait::getOption() - Option not found!");
+  return *(Options.find(token)->second);
+}
+
+/** States whether given option (token) is present or not.
+ * \param &token name of option
+ * \return true - option present, false - not
+ */
+bool ActionTrait::hasOption(const std::string &token) const
+{
+  return (Options.find(token) != Options.end());
+}
+
+/** States whether this Action has options at all.
+ * \return true - options present, false - no options
+ */
+bool ActionTrait::hasOptions() const
+{
+  return (Options.begin() != Options.end());
+}
+
+/** Forward iterator from beginning of list of options.
+ * \return iterator
+ */
+ActionTrait::options_iterator ActionTrait::getBeginIter()
+{
+  return Options.begin();
+}
+
+/** Forward iterator at end of list of options.
+ * \return iterator
+ */
+ActionTrait::options_iterator ActionTrait::getEndIter()
+{
+  return Options.end();
+}
+
+/** Constant forward iterator from beginning of list of options.
+ * \return constant iterator
+ */
+ActionTrait::options_const_iterator ActionTrait::getBeginIter() const
+{
+  return Options.begin();
+}
+
+/** Constant forward iterator at end of list of options.
+ * \return constant iterator
+ */
+ActionTrait::options_const_iterator ActionTrait::getEndIter() const
+{
+  return Options.end();
+}
+
+/** Output operator for ActionTrait.
+ *
+ * \param &out stream to output to
+ */
+std::ostream &operator<<(std::ostream &out, const ActionTrait &a)
+{
+  out << "ActionTrait(" << &a << ") with " << static_cast<const OptionTrait &>(a) << " has the following options: " << std::endl;
+  for (ActionTrait::options_const_iterator iter = a.getBeginIter();
+    iter != a.getEndIter();
+    ++iter) {
+    out << "\t - " << *iter->second << ")" << std::endl;
+  }
+  return out;
+}
+
Index: src/Actions/ActionTrait.hpp
===================================================================
--- src/Actions/ActionTrait.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
+++ src/Actions/ActionTrait.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -0,0 +1,70 @@
+/*
+ * ActionTrait.hpp
+ *
+ *  Created on: Oct 26, 2010
+ *      Author: heber
+ */
+
+#ifndef ACTIONTRAIT_HPP_
+#define ACTIONTRAIT_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <iosfwd>
+#include <map>
+
+#include "Actions/OptionTrait.hpp"
+
+namespace MoleCuilder {
+
+/** Interface for all ActionTrait.
+ * This class defines the interface, i.e. the common set of information that
+ * is stored in this traits for Action classes. It also defines a set of getter
+ * functions.
+ *
+ * Note that there are no setters. This is because the information is to be
+ * given in a specialized form of the templated class ActionTrait that derives
+ * from this interface.
+ *
+ */
+class ActionTrait : public OptionTrait {
+public:
+  ActionTrait(const ActionTrait &_Traits);
+  ActionTrait(const OptionTrait &_Traits, const std::string _MenuTitle = "", const int _MenuPosition = 0);
+  explicit ActionTrait(const std::string &_token);
+  virtual ~ActionTrait();
+
+  typedef std::map< std::string, OptionTrait* > options_map;
+  typedef options_map::iterator                 options_iterator;
+  typedef options_map::const_iterator           options_const_iterator;
+
+  const std::string& getMenuName() const;
+  int getMenuPosition() const;
+
+  // getter for its options
+  OptionTrait const &getOption(const std::string &token) const;
+
+  bool hasOption(const std::string &token) const;
+  bool hasOptions() const;
+
+  options_iterator getBeginIter();
+  options_iterator getEndIter();
+  options_const_iterator getBeginIter() const;
+  options_const_iterator getEndIter() const;
+
+protected:
+
+  // internal information this trait contains
+  std::string MenuTitle;
+  int MenuPosition;
+  options_map Options;
+};
+
+}
+
+std::ostream &operator<<(std::ostream &out, const MoleCuilder::ActionTrait &a);
+
+#endif /* ACTIONTRAIT_HPP_ */
Index: src/Actions/ActionTraits.cpp
===================================================================
--- src/Actions/ActionTraits.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ 	(revision )
@@ -1,183 +1,0 @@
-/*
- * Project: MoleCuilder
- * Description: creates and alters molecular systems
- * Copyright (C)  2010 University of Bonn. All rights reserved.
- * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
- */
-
-/*
- * ActionTraits.cpp
- *
- *  Created on: Oct 26, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include "Actions/ActionTraits.hpp"
-
-#include "CodePatterns/Assert.hpp"
-
-#include <iostream>
-#include <sstream>
-#include <string>
-#include <typeinfo>
-
-using namespace MoleCuilder;
-
-/** Copy constructor for base class ActionTraits.
- * \param &_Traits source ActionTraits class to copy
- */
-ActionTraits::ActionTraits(const std::string &_token) :
-  OptionTrait(_token,
-      &typeid(void),
-      "this is an invisible action",
-      "",
-      ""
-  )
-{
-  //std::cout << "ActionTraits::ActionTraits(string &) on instance " << this << " with " << getName() << ", type " << getTypeName() << " and description " << getDescription() << std::endl;
-}
-
-/** Copy constructor for base class ActionTraits.
- * we have to make our own copy in order to avoid references and deep-copy everything.
- * \param &_Traits source ActionTraits class to copy
- */
-ActionTraits::ActionTraits(const ActionTraits &_Traits) :
-  OptionTrait(_Traits),
-  MenuTitle(_Traits.MenuTitle),
-  MenuPosition(_Traits.MenuPosition)
-{
-  for (options_const_iterator iter = _Traits.Options.begin(); iter != _Traits.Options.end(); ++iter) {
-    Options.insert(
-        std::make_pair(
-            iter->first,
-            new OptionTrait(*iter->second)
-        )
-    );
-  }
-  //std::cout << "ActionTraits::ActionTraits(ActionTraits &) on instance " << this << " with " << getName() << ", type " << getTypeName() << " and description " << getDescription() << std::endl;
-}
-
-/** Copy constructor for base class ActionTraits.
- * we have to make our own copy in order to avoid references and deep-copy everything.
- * \param &_Traits source OptionTrait class to copy
- */
-ActionTraits::ActionTraits(const OptionTrait &_Traits, const std::string _MenuTitle, const int _MenuPosition) :
-  OptionTrait(_Traits),
-  MenuTitle(_MenuTitle),
-  MenuPosition(_MenuPosition)
-{
-  //std::cout << "ActionTraits::ActionTraits(OptionTrait &) on instance " << this << " with " << getName() << ", type " << getTypeName() << " and description " << getDescription() << std::endl;
-}
-
-/** Constructor for base class ActionTraits.
- * Deletes all present Options.
- */
-ActionTraits::~ActionTraits()
-{
-  //std::cout << "ActionTraits::~ActionTraits() on instance " << this << " with name " << getName() << " called." << std::endl;
-  for (options_iterator iter = Options.begin(); iter != Options.end(); ++iter) {
-    //std::cout << "ActionTraits::~ActionTraits() removes option instance " << iter->second << " with name " << iter->first << "." << std::endl;
-    delete iter->second;
-  }
-  Options.clear();
-}
-
-
-/** Returns menu title for this ActionTrait.
- * \return ActionTraits::MenuTitle as std::string
- */
-const std::string& ActionTraits::getMenuName() const
-{
-  return MenuTitle;
-}
-
-/** Returns menu title for this ActionTrait.
- * \return ActionTraits::MenuPosition as std::string
- */
-int ActionTraits::getMenuPosition() const
-{
-  return MenuPosition;
-}
-
-/** Returns Description for the given option of this ActionTrait.
- * \param &token token of option
- * \return reference to OptionTrait
- */
-OptionTrait const & ActionTraits::getOption(const std::string &token) const
-{
-  ASSERT(Options.find(token) != Options.end(),
-      "ActionTraits::getOption() - Option not found!");
-  return *(Options.find(token)->second);
-}
-
-/** States whether given option (token) is present or not.
- * \param &token name of option
- * \return true - option present, false - not
- */
-bool ActionTraits::hasOption(const std::string &token) const
-{
-  return (Options.find(token) != Options.end());
-}
-
-/** States whether this Action has options at all.
- * \return true - options present, false - no options
- */
-bool ActionTraits::hasOptions() const
-{
-  return (Options.begin() != Options.end());
-}
-
-/** Forward iterator from beginning of list of options.
- * \return iterator
- */
-ActionTraits::options_iterator ActionTraits::getBeginIter()
-{
-  return Options.begin();
-}
-
-/** Forward iterator at end of list of options.
- * \return iterator
- */
-ActionTraits::options_iterator ActionTraits::getEndIter()
-{
-  return Options.end();
-}
-
-/** Constant forward iterator from beginning of list of options.
- * \return constant iterator
- */
-ActionTraits::options_const_iterator ActionTraits::getBeginIter() const
-{
-  return Options.begin();
-}
-
-/** Constant forward iterator at end of list of options.
- * \return constant iterator
- */
-ActionTraits::options_const_iterator ActionTraits::getEndIter() const
-{
-  return Options.end();
-}
-
-/** Output operator for ActionTrait.
- *
- * \param &out stream to output to
- */
-std::ostream &operator<<(std::ostream &out, const ActionTraits &a)
-{
-  out << "ActionTrait(" << &a << ") with " << static_cast<const OptionTrait &>(a) << " has the following options: " << std::endl;
-  for (ActionTraits::options_const_iterator iter = a.getBeginIter();
-    iter != a.getEndIter();
-    ++iter) {
-    out << "\t - " << *iter->second << ")" << std::endl;
-  }
-  return out;
-}
-
Index: src/Actions/ActionTraits.hpp
===================================================================
--- src/Actions/ActionTraits.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/ActionTraits.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -2,5 +2,5 @@
  * ActionTraits.hpp
  *
- *  Created on: Oct 26, 2010
+ *  Created on: Sep 26, 2011
  *      Author: heber
  */
@@ -14,73 +14,26 @@
 #endif
 
-#include <iosfwd>
-#include <map>
-
-#include "Actions/OptionTrait.hpp"
+#include "Actions/ActionTrait.hpp"
 
 namespace MoleCuilder {
 
-/** Interface for all ActionTraits.
- * This class defines the interface, i.e. the common set of information that
- * is stored in this traits for Action classes. It also defines a set of getter
- * functions.
+/* Templated class for ActionTrait to specialize.
+ * I.e. every action specializes its own ActionTraits and inherits the
+ * ActionTrait class as interface , e.g. Action called SuperAction:
+
+ * ActionTraits<SuperAction> : public ActionTrait
  *
- * Note that there are no setters. This is because the information is to be
- * given in a specialized form of the templated class ActionTrait that derives
- * from this interface.
- *
- */
-class ActionTraits : public OptionTrait {
-public:
-  ActionTraits(const ActionTraits &_Traits);
-  ActionTraits(const OptionTrait &_Traits, const std::string _MenuTitle = "", const int _MenuPosition = 0);
-  explicit ActionTraits(const std::string &_token);
-  virtual ~ActionTraits();
-
-  typedef std::map< std::string, OptionTrait* > options_map;
-  typedef options_map::iterator                 options_iterator;
-  typedef options_map::const_iterator           options_const_iterator;
-
-  const std::string& getMenuName() const;
-  int getMenuPosition() const;
-
-  // getter for its options
-  OptionTrait const &getOption(const std::string &token) const;
-
-  bool hasOption(const std::string &token) const;
-  bool hasOptions() const;
-
-  options_iterator getBeginIter();
-  options_iterator getEndIter();
-  options_const_iterator getBeginIter() const;
-  options_const_iterator getEndIter() const;
-
-protected:
-
-  // internal information this trait contains
-  std::string MenuTitle;
-  int MenuPosition;
-  options_map Options;
-};
-
-/* Templated class for ActionTraits to specialize.
- * I.e. every action specializes its own ActionTrait and inherits the
- * ActionTraits class as interface , e.g. Action called SuperAction:
-
- * ActionTrait<SuperAction> : public ActionTraits
- *
- * within the constructor of said ActionTrait<SuperAction> the specific
+ * within the constructor of said ActionTraits<SuperAction> the specific
  * information for this derived Action class is then given.
  */
 template <class T>
-class ActionTrait : public ActionTraits {
+class ActionTraits : public ActionTrait {
 public:
-  ActionTrait();
-  virtual ~ActionTrait();
+  ActionTraits();
+  virtual ~ActionTraits();
 };
 
 }
 
-std::ostream &operator<<(std::ostream &out, const MoleCuilder::ActionTraits &a);
+#endif /* ACTIONTRAITS_HPP_ */
 
-#endif /* ACTIONTRAITS_HPP_ */
Index: src/Actions/Action_impl_header.hpp
===================================================================
--- src/Actions/Action_impl_header.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/Action_impl_header.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -29,5 +29,4 @@
 
 #include "Actions/ActionTraits.hpp"
-#include "Actions/OptionTrait.hpp"
 #include "Actions/ValueStorage.hpp"
 
@@ -150,11 +149,11 @@
 
 template <>
-class ActionTrait<ACTION> : public ActionTraits {
+class ActionTraits<ACTION> : public ActionTrait {
 public:
-  ActionTrait() :
+  ActionTraits() :
 #ifndef SHORTFORM
-    ActionTraits(OptionTrait(TOKEN, &typeid(void), DESCRIPTION, std::string()))
-#else
-    ActionTraits(OptionTrait(TOKEN, &typeid(void), DESCRIPTION, std::string(), SHORTFORM))
+    ActionTrait(OptionTrait(TOKEN, &typeid(void), DESCRIPTION, std::string()))
+#else
+    ActionTrait(OptionTrait(TOKEN, &typeid(void), DESCRIPTION, std::string(), SHORTFORM))
 #endif /* SHORTFORM */
   {
@@ -168,5 +167,5 @@
 
     // initialize action's options
-    std::pair< ActionTraits::options_iterator, bool > tester;
+    std::pair< ActionTrait::options_iterator, bool > tester;
 #ifdef paramtokens
 #define BOOST_PP_LOCAL_MACRO(n) option_print(~, n, ~, )
@@ -179,8 +178,10 @@
       Options[TOKEN]->setShortForm(std::string(SHORTFORM));
 #endif /* SHORTFORM */
-    //std::cout << "ActionTrait<" << BOOST_PP_STRINGIZE(ACTION) << ">::ActionTrait() on instance " << this << " with " << getName() << ", type " << getTypeName() << " and description " << getDescription() << std::endl;
+    //std::cout << "ActionTraits<" << BOOST_PP_STRINGIZE(ACTION) << ">::ActionTraits() on instance " << this << " with " << getName() << ", type " << getTypeName() << " and description " << getDescription() << std::endl;
   }
 
-  virtual ~ActionTrait() {}
+  virtual ~ActionTraits() {
+    //std::cout << "ActionTraits<" << BOOST_PP_STRINGIZE(ACTION) << ">::~ActionTraits() on instance " << this << " with name " << getName() << " called." << std::endl;
+  }
 };
 
Index: src/Actions/Action_impl_pre.hpp
===================================================================
--- src/Actions/Action_impl_pre.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/Action_impl_pre.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -150,4 +150,5 @@
 
 #include "Actions/ActionRegistry.hpp"
+//#include "Actions/ActionTraits.hpp"
 #include "UIElements/Dialog.hpp"
 
@@ -196,5 +197,5 @@
 // =========== constructor ===========
 ACTION::ACTION () :
-  Action(ActionTrait< ACTION >(), false)
+  Action(ActionTraits< ACTION >(), false)
 {}
 
Index: src/Actions/AtomsCalculation.hpp
===================================================================
--- src/Actions/AtomsCalculation.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/AtomsCalculation.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -25,5 +25,5 @@
 {
 public:
-  AtomsCalculation(boost::function<T(atom*)> op,const ActionTraits &_trait,AtomDescriptor descr);
+  AtomsCalculation(boost::function<T(atom*)> op,const ActionTrait &_trait,AtomDescriptor descr);
   virtual ~AtomsCalculation();
 
Index: src/Actions/AtomsCalculation_impl.hpp
===================================================================
--- src/Actions/AtomsCalculation_impl.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/AtomsCalculation_impl.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -21,5 +21,5 @@
 
 template<typename T>
-AtomsCalculation<T>::AtomsCalculation(boost::function<T(atom*)> _op,const ActionTraits &_trait,AtomDescriptor _descr) :
+AtomsCalculation<T>::AtomsCalculation(boost::function<T(atom*)> _op,const ActionTrait &_trait,AtomDescriptor _descr) :
   Calculation<std::vector<T> >(0,_trait,false),
   descr(_descr),
Index: src/Actions/Calculation.hpp
===================================================================
--- src/Actions/Calculation.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/Calculation.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -29,5 +29,5 @@
 {
 public:
-  Calculation(int _maxSteps, const ActionTraits &_trait, bool _doRegister=true);
+  Calculation(int _maxSteps, const ActionTrait &_trait, bool _doRegister=true);
   virtual ~Calculation();
 
Index: src/Actions/Calculation_impl.hpp
===================================================================
--- src/Actions/Calculation_impl.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/Calculation_impl.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -22,5 +22,5 @@
 
 template<typename T>
-Calculation<T>::Calculation(int _maxSteps, const ActionTraits &_trait, bool _doRegister) :
+Calculation<T>::Calculation(int _maxSteps, const ActionTrait &_trait, bool _doRegister) :
   Process(_maxSteps,_trait,_doRegister),
   result(0),
Index: src/Actions/CommandAction/HelpAction.cpp
===================================================================
--- src/Actions/CommandAction/HelpAction.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/CommandAction/HelpAction.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -24,5 +24,5 @@
 
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Actions/OptionRegistry.hpp"
 #include "Actions/OptionTrait.hpp"
Index: src/Actions/ErrorAction.cpp
===================================================================
--- src/Actions/ErrorAction.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/ErrorAction.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -29,5 +29,5 @@
 using namespace MoleCuilder;
 
-ErrorAction::ErrorAction(const ActionTraits &_trait,const char * _errorMsg,bool _doRegister) :
+ErrorAction::ErrorAction(const ActionTrait &_trait,const char * _errorMsg,bool _doRegister) :
 Action(_trait,_doRegister),
 errorMsg(_errorMsg)
Index: src/Actions/ErrorAction.hpp
===================================================================
--- src/Actions/ErrorAction.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/ErrorAction.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -23,5 +23,5 @@
 {
 public:
-  ErrorAction(const ActionTraits &_trait,const char * _errorMsg,bool _doRegister=true);
+  ErrorAction(const ActionTrait &_trait,const char * _errorMsg,bool _doRegister=true);
   virtual ~ErrorAction();
 
Index: src/Actions/Makefile.am
===================================================================
--- src/Actions/Makefile.am	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/Makefile.am	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -7,5 +7,5 @@
   Actions/ActionRegistry.cpp \
   Actions/ActionSequence.cpp \
-  Actions/ActionTraits.cpp \
+  Actions/ActionTrait.cpp \
   Actions/ErrorAction.cpp \
   Actions/MakroAction.cpp \
@@ -26,5 +26,5 @@
   Actions/ActionRegistry.hpp \
   Actions/ActionSequence.hpp \
-  Actions/ActionTraits.hpp \
+  Actions/ActionTrait.hpp \
   Actions/AtomsCalculation.hpp \
   Actions/AtomsCalculation_impl.hpp \
Index: src/Actions/MakroAction.cpp
===================================================================
--- src/Actions/MakroAction.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/MakroAction.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -41,5 +41,5 @@
 };
 
-MakroAction::MakroAction(const ActionTraits &_trait,ActionSequence* _actions,bool _doRegister) :
+MakroAction::MakroAction(const ActionTrait &_trait,ActionSequence* _actions,bool _doRegister) :
 Action(_trait,_doRegister),
 actions(_actions)
Index: src/Actions/MakroAction.hpp
===================================================================
--- src/Actions/MakroAction.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/MakroAction.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -30,5 +30,5 @@
 {
 public:
-  MakroAction(const ActionTraits &_trait,ActionSequence* _actions,bool _doRegister=true);
+  MakroAction(const ActionTrait &_trait,ActionSequence* _actions,bool _doRegister=true);
   virtual ~MakroAction();
 
Index: src/Actions/ManipulateAtomsProcess.cpp
===================================================================
--- src/Actions/ManipulateAtomsProcess.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/ManipulateAtomsProcess.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -32,5 +32,5 @@
     boost::function<void(atom*)> _operation,
     AtomDescriptor _descr,
-    const ActionTraits &_trait,
+    const ActionTrait &_trait,
     bool _doRegister) :
   Process(0,_trait,_doRegister),
Index: src/Actions/ManipulateAtomsProcess.hpp
===================================================================
--- src/Actions/ManipulateAtomsProcess.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/ManipulateAtomsProcess.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -28,5 +28,5 @@
 {
 public:
-  ManipulateAtomsProcess(boost::function<void(atom*)> _operation, AtomDescriptor descr,const ActionTraits &_trait,bool _doRegister=true);
+  ManipulateAtomsProcess(boost::function<void(atom*)> _operation, AtomDescriptor descr,const ActionTrait &_trait,bool _doRegister=true);
   virtual ~ManipulateAtomsProcess();
 
Index: src/Actions/MethodAction.cpp
===================================================================
--- src/Actions/MethodAction.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/MethodAction.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -29,5 +29,5 @@
 using namespace MoleCuilder;
 
-MethodAction::MethodAction(const ActionTraits &_trait,boost::function<void()> _executeMethod,bool _doRegister) :
+MethodAction::MethodAction(const ActionTrait &_trait,boost::function<void()> _executeMethod,bool _doRegister) :
    Action(_trait,_doRegister),
 executeMethod(_executeMethod)
Index: src/Actions/MethodAction.hpp
===================================================================
--- src/Actions/MethodAction.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/MethodAction.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -27,5 +27,5 @@
 {
 public:
-  MethodAction(const ActionTraits &_trait,boost::function<void()> _executeMethod,bool _doRegister=true);
+  MethodAction(const ActionTrait &_trait,boost::function<void()> _executeMethod,bool _doRegister=true);
   virtual ~MethodAction();
   virtual bool canUndo();
Index: src/Actions/OptionRegistry.cpp
===================================================================
--- src/Actions/OptionRegistry.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/OptionRegistry.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -24,5 +24,5 @@
 #include "Actions/Action.hpp"
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Actions/OptionRegistry.hpp"
 #include "Actions/OptionTrait.hpp"
@@ -61,5 +61,5 @@
 //      ++actioniter) {
 //    Action* const currentAction = actioniter->second;
-//    for (ActionTraits::options_const_iterator optioniter = currentAction->Traits.getBeginIter();
+//    for (ActionTrait::options_const_iterator optioniter = currentAction->Traits.getBeginIter();
 //        optioniter != currentAction->Traits.getEndIter();
 //        ++optioniter) {
@@ -87,5 +87,5 @@
       actioniter != AR.getEndIter();
       ++actioniter) {
-    for (ActionTraits::options_const_iterator optioniter = (actioniter->second)->Traits.getBeginIter();
+    for (ActionTrait::options_const_iterator optioniter = (actioniter->second)->Traits.getBeginIter();
         optioniter != (actioniter->second)->Traits.getEndIter();
         ++optioniter) {
Index: src/Actions/Process.cpp
===================================================================
--- src/Actions/Process.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/Process.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -26,5 +26,5 @@
 using namespace MoleCuilder;
 
-Process::Process(int _maxSteps, const ActionTraits &_trait, bool _doRegister) :
+Process::Process(int _maxSteps, const ActionTrait &_trait, bool _doRegister) :
   Action(_trait,_doRegister),
   Observable("Process"),
Index: src/Actions/Process.hpp
===================================================================
--- src/Actions/Process.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/Process.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -48,5 +48,5 @@
 {
 public:
-  Process(int _maxSteps, const ActionTraits &_trait, bool _doRegister=true);
+  Process(int _maxSteps, const ActionTrait &_trait, bool _doRegister=true);
   virtual ~Process();
 
Index: src/Actions/unittests/ActionRegistryUnitTest.cpp
===================================================================
--- src/Actions/unittests/ActionRegistryUnitTest.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/unittests/ActionRegistryUnitTest.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -27,5 +27,5 @@
 
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Actions/OptionRegistry.hpp"
 #include "Actions/OptionTrait.hpp"
Index: src/Actions/unittests/ActionSequenceUnitTest.cpp
===================================================================
--- src/Actions/unittests/ActionSequenceUnitTest.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/unittests/ActionSequenceUnitTest.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -46,5 +46,5 @@
 {
 public:
-  canUndoActionStub(const ActionTraits &_trait):
+  canUndoActionStub(const ActionTrait &_trait):
     Action(_trait,false){}
   virtual ~canUndoActionStub(){}
@@ -78,5 +78,5 @@
 {
 public:
-  cannotUndoActionStub(const ActionTraits &_trait) :
+  cannotUndoActionStub(const ActionTrait &_trait) :
     Action(_trait,false){}
   virtual ~cannotUndoActionStub(){}
@@ -110,5 +110,5 @@
 {
 public:
-  wasCalledActionStub(const ActionTraits &_trait) :
+  wasCalledActionStub(const ActionTrait &_trait) :
       Action(_trait,false),
       called(false)
@@ -157,6 +157,6 @@
   UIFactory::makeUserInterface("Dummy");
   // create some necessary stubs used in this test
-  ActionTraits canUndoTrait("canUndoActionStub");
-  ActionTraits cannotUndoTrait("cannotUndoActionStub");
+  ActionTrait canUndoTrait("canUndoActionStub");
+  ActionTrait cannotUndoTrait("cannotUndoActionStub");
   positive1 = new canUndoActionStub(canUndoTrait);
   positive2 = new canUndoActionStub(canUndoTrait);
@@ -164,5 +164,5 @@
   negative2 = new cannotUndoActionStub(cannotUndoTrait);
 
-  ActionTraits wasCalledTrait("wasCalledActionStub");
+  ActionTrait wasCalledTrait("wasCalledActionStub");
   shouldCall1 = new wasCalledActionStub(wasCalledTrait);
   shouldCall2 = new wasCalledActionStub(wasCalledTrait);
@@ -264,5 +264,5 @@
 void ActionSequenceTest::doesUndoTest(){
   ActionSequence *sequence = new ActionSequence();
-  ActionTraits wasCalledTrait("wasCalledActionStub");
+  ActionTrait wasCalledTrait("wasCalledActionStub");
   wasCalledActionStub *wasCalled1 = new wasCalledActionStub(wasCalledTrait);
   wasCalledActionStub *wasCalled2 = new wasCalledActionStub(wasCalledTrait);
@@ -270,5 +270,5 @@
   sequence->addAction(wasCalled2);
 
-  ActionTraits MakroTrait("Test MakroAction");
+  ActionTrait MakroTrait("Test MakroAction");
   MakroAction act(MakroTrait,sequence,false);
 
Index: src/Actions/unittests/AtomsCalculationUnitTest.cpp
===================================================================
--- src/Actions/unittests/AtomsCalculationUnitTest.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/Actions/unittests/AtomsCalculationUnitTest.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -31,5 +31,5 @@
 #include "Actions/AtomsCalculation_impl.hpp"
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 
 #include "World.hpp"
@@ -91,5 +91,5 @@
 
 void AtomsCalculationTest::testCalculateSimple(){
-  ActionTraits FooTrait("FOO");
+  ActionTrait FooTrait("FOO");
   AtomsCalculation<atomId_t> *calc = World::getInstance().calcOnAtoms<atomId_t>(boost::bind(&atom::getId,_1),FooTrait,AllAtoms());
   std::vector<atomId_t> allIds = (*calc)();
@@ -99,5 +99,5 @@
 
 void AtomsCalculationTest::testCalculateExcluded(){
-  ActionTraits FooTrait("FOO");
+  ActionTrait FooTrait("FOO");
   atomId_t excluded = atomIds[ATOM_COUNT/2];
   AtomsCalculation<atomId_t> *calc = World::getInstance().calcOnAtoms<atomId_t>(boost::bind(&atom::getId,_1),FooTrait,AllAtoms() && !AtomById(excluded));
Index: src/UIElements/CommandLineUI/CommandLineParser.cpp
===================================================================
--- src/UIElements/CommandLineUI/CommandLineParser.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/UIElements/CommandLineUI/CommandLineParser.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -29,5 +29,5 @@
 #include "Actions/Action.hpp"
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Actions/OptionRegistry.hpp"
 #include "Actions/OptionTrait.hpp"
@@ -96,5 +96,5 @@
     //std::cout << "Current Action to initialize is: " << actioniter->first << std::endl;
 
-    for (ActionTraits::options_const_iterator optioniter = currentAction->Traits.getBeginIter();
+    for (ActionTrait::options_const_iterator optioniter = currentAction->Traits.getBeginIter();
         optioniter != currentAction->Traits.getEndIter();
         ++optioniter) {
Index: src/UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistencyUnitTest.cpp
===================================================================
--- src/UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistencyUnitTest.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistencyUnitTest.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -26,5 +26,5 @@
 #include "Actions/Action.hpp"
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "UIElements/CommandLineUI/CommandLineParser.hpp"
 
Index: src/UIElements/Menu/Menu.cpp
===================================================================
--- src/UIElements/Menu/Menu.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/UIElements/Menu/Menu.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -24,5 +24,5 @@
 #include "Actions/ActionRegistry.hpp"
 #include "Actions/Action.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Menu/Menu.hpp"
 
Index: src/UIElements/Menu/TextMenu/TextMenu.hpp
===================================================================
--- src/UIElements/Menu/TextMenu/TextMenu.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/UIElements/Menu/TextMenu/TextMenu.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -26,5 +26,5 @@
 #include "Actions/Action.hpp"
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Menu/TextMenu/TxMenuLeaveAction.hpp"
 #include "Menu/TextMenu/ActionMenuItem.hpp"
@@ -145,5 +145,5 @@
     new SubMenuItem(getSuitableShortForm(description), description, MenuInstance, NewMenu->getMenuInstance());
     NewMenu->reserveShortcut('q',"leave"+token);
-    MoleCuilder::ActionTraits leaveTrait(
+    MoleCuilder::ActionTrait leaveTrait(
         MoleCuilder::OptionTrait("leave"+token, &typeid(void), "leave menu "+token),
         token,
Index: src/UIElements/Menu/TextMenu/TxMenuLeaveAction.cpp
===================================================================
--- src/UIElements/Menu/TextMenu/TxMenuLeaveAction.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/UIElements/Menu/TextMenu/TxMenuLeaveAction.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -21,5 +21,5 @@
 
 #include "Actions/Action.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Menu/TextMenu/TxMenuLeaveAction.hpp"
 #include "CodePatterns/Assert.hpp"
@@ -29,7 +29,7 @@
 /** Constructor for class TxMenu::LeaveAction.
  * \param _menu pointer to the containing TxMenu
- * \param &LeaveActionTrait ActionTraits for this Action
+ * \param &LeaveActionTrait ActionTrait for this Action
  */
-TxMenu::LeaveAction::LeaveAction(TxMenu* const _menu, const ActionTraits & LeaveActionTrait) :
+TxMenu::LeaveAction::LeaveAction(TxMenu* const _menu, const ActionTrait & LeaveActionTrait) :
   Action(LeaveActionTrait, true),
   menu(_menu)
Index: src/UIElements/Menu/TextMenu/TxMenuLeaveAction.hpp
===================================================================
--- src/UIElements/Menu/TextMenu/TxMenuLeaveAction.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/UIElements/Menu/TextMenu/TxMenuLeaveAction.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -17,5 +17,5 @@
 #include "Menu/TextMenu/TxMenu.hpp"
 #include "Actions/Action.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 
 /** This specific action is used to leave a submenu and return to an upper one.
@@ -27,5 +27,5 @@
 {
 public:
-  LeaveAction(TxMenu* const, const MoleCuilder::ActionTraits &_trait);
+  LeaveAction(TxMenu* const, const MoleCuilder::ActionTrait &_trait);
   virtual ~LeaveAction();
 
Index: src/UIElements/Menu/unittests/MenuDescription_ActionRegistry_ConsistencyUnitTest.cpp
===================================================================
--- src/UIElements/Menu/unittests/MenuDescription_ActionRegistry_ConsistencyUnitTest.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/UIElements/Menu/unittests/MenuDescription_ActionRegistry_ConsistencyUnitTest.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -25,5 +25,5 @@
 #include "Actions/Action.hpp"
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 
 #include "MenuDescription_ActionRegistry_ConsistencyUnitTest.hpp"
Index: src/UIElements/TextUI/TextWindow.cpp
===================================================================
--- src/UIElements/TextUI/TextWindow.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/UIElements/TextUI/TextWindow.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -34,5 +34,5 @@
 #include "Actions/ErrorAction.hpp"
 #include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Parser/ChangeTracker.hpp"
 #include "Views/StreamStringView.hpp"
@@ -74,5 +74,5 @@
 
   // create a specific quit action for this UI and store in registry
-  ActionTraits quitTrait(OptionTrait("quit", &typeid(void), "quits the program"));
+  ActionTrait quitTrait(OptionTrait("quit", &typeid(void), "quits the program"));
   quitAction = new MethodAction(quitTrait,boost::bind(&TxMenu::doQuit,main_menu->getMenuInstance()),true);
   new ActionMenuItem('q',"quit",main_menu->getMenuInstance(),"quit");
Index: src/World.cpp
===================================================================
--- src/World.cpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/World.cpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -24,8 +24,7 @@
 #include <functional>
 
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Actions/ManipulateAtomsProcess.hpp"
 #include "atom.hpp"
-#include "Graph/BondGraph.hpp"
 #include "Box.hpp"
 #include "CodePatterns/Assert.hpp"
@@ -37,4 +36,5 @@
 #include "Descriptors/SelectiveIterator_impl.hpp"
 #include "Element/periodentafel.hpp"
+#include "Graph/BondGraph.hpp"
 #include "Graph/DepthFirstSearchAnalysis.hpp"
 #include "Helpers/defs.hpp"
@@ -308,5 +308,5 @@
 
 ManipulateAtomsProcess* World::manipulateAtoms(boost::function<void(atom*)> op,std::string name,AtomDescriptor descr){
-  ActionTraits manipulateTrait(name);
+  ActionTrait manipulateTrait(name);
   return new ManipulateAtomsProcess(op, descr,manipulateTrait,false);
 }
Index: src/World.hpp
===================================================================
--- src/World.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/World.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -19,5 +19,5 @@
 
 #include "types.hpp"
-#include "Actions/ActionTraits.hpp"
+#include "Actions/ActionTrait.hpp"
 #include "Descriptors/SelectiveIterator.hpp"
 #include "CodePatterns/Observer.hpp"
@@ -158,6 +158,6 @@
    * menus, be kept around for later use etc.
    */
-  template<typename T> MoleCuilder::AtomsCalculation<T>* calcOnAtoms(boost::function<T(atom*)>,const MoleCuilder::ActionTraits &_trait,AtomDescriptor);
-  template<typename T> MoleCuilder::AtomsCalculation<T>* calcOnAtoms(boost::function<T(atom*)>,const MoleCuilder::ActionTraits &_trait);
+  template<typename T> MoleCuilder::AtomsCalculation<T>* calcOnAtoms(boost::function<T(atom*)>,const MoleCuilder::ActionTrait &_trait,AtomDescriptor);
+  template<typename T> MoleCuilder::AtomsCalculation<T>* calcOnAtoms(boost::function<T(atom*)>,const MoleCuilder::ActionTrait &_trait);
 
   /**
Index: src/World_calculations.hpp
===================================================================
--- src/World_calculations.hpp	(revision c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1)
+++ src/World_calculations.hpp	(revision 3139b207b75597cf0c7353033c5d2be2cfbcb0ae)
@@ -22,10 +22,10 @@
 
 template<typename T>
-AtomsCalculation<T>* World::calcOnAtoms(boost::function<T(atom*)> op,const MoleCuilder::ActionTraits &_trait,AtomDescriptor descr){
+AtomsCalculation<T>* World::calcOnAtoms(boost::function<T(atom*)> op,const MoleCuilder::ActionTrait &_trait,AtomDescriptor descr){
   return new AtomsCalculation<T>(op,_trait,descr);
 }
 
 template<typename T>
-AtomsCalculation<T>* World::calcOnAtoms(boost::function<T(atom*)> op,const MoleCuilder::ActionTraits &_trait) {
+AtomsCalculation<T>* World::calcOnAtoms(boost::function<T(atom*)> op,const MoleCuilder::ActionTrait &_trait) {
   return calcOnAtoms<T>(op,_trait,AllAtoms());
 }
