+/** Represents an action which is executable by an action list */
+class CoreExport ActionBase : public classbase
+{
+ public:
+ /** Executes this action. */
+ virtual void Call() = 0;
+};
+
+class CoreExport ActionList
+{
+ std::vector<ActionBase*> list;
+
+ public:
+ /** Adds an item to the list
+ */
+ void AddAction(ActionBase* item) { list.push_back(item); }