Index: trunk/sources/HeuristicLab.Operators/3.3/AlgorithmOperator.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/AlgorithmOperator.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/AlgorithmOperator.cs	(revision 2834)
@@ -50,8 +50,8 @@
     }
 
-    public override IExecutionSequence Apply() {
-      ExecutionContextCollection next = new ExecutionContextCollection(base.Apply());
+    public override IOperation Apply() {
+      OperationCollection next = new OperationCollection(base.Apply());
       if (operatorGraph.InitialOperator != null)
-        next.Insert(0, ExecutionContext.CreateChildContext(operatorGraph.InitialOperator));
+        next.Insert(0, ExecutionContext.CreateChildOperation(operatorGraph.InitialOperator));
       return next;
     }
Index: trunk/sources/HeuristicLab.Operators/3.3/Assigner.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/Assigner.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/Assigner.cs	(revision 2834)
@@ -45,5 +45,5 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       LeftSideParameter.ActualValue = (IItem)RightSideParameter.ActualValue.Clone();
       return base.Apply();
Index: trunk/sources/HeuristicLab.Operators/3.3/CombinedOperator.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/CombinedOperator.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/CombinedOperator.cs	(revision 2834)
@@ -20,8 +20,6 @@
 #endregion
 
-using System.Drawing;
 using HeuristicLab.Collections;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 
 namespace HeuristicLab.Operators {
@@ -31,5 +29,5 @@
   [Item("CombinedOperator", "An operator which contains an operator graph.")]
   [Creatable("Test")]
-  public sealed class CombinedOperator : AlgorithmOperator, IOperator {
+  public sealed class CombinedOperator : AlgorithmOperator, IParameterizedItem {
     public new ParameterCollection Parameters {
       get {
@@ -37,5 +35,5 @@
       }
     }
-    IObservableKeyedCollection<string, IParameter> IOperator.Parameters {
+    IObservableKeyedCollection<string, IParameter> IParameterizedItem.Parameters {
       get { return Parameters; }
     }
Index: trunk/sources/HeuristicLab.Operators/3.3/Comparator.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/Comparator.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/Comparator.cs	(revision 2834)
@@ -59,5 +59,5 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       IItem left = LeftSideParameter.ActualValue;
       IItem right = RightSideParameter.ActualValue;
Index: trunk/sources/HeuristicLab.Operators/3.3/ConditionalBranch.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/ConditionalBranch.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/ConditionalBranch.cs	(revision 2834)
@@ -58,10 +58,10 @@
     }
 
-    public override IExecutionSequence Apply() {
-      ExecutionContextCollection next = new ExecutionContextCollection(base.Apply());
+    public override IOperation Apply() {
+      OperationCollection next = new OperationCollection(base.Apply());
       if (ConditionParameter.ActualValue.Value) {
-        if (TrueBranch != null) next.Insert(0, ExecutionContext.CreateContext(TrueBranch));
+        if (TrueBranch != null) next.Insert(0, ExecutionContext.CreateOperation(TrueBranch));
       } else {
-        if (FalseBranch != null) next.Insert(0, ExecutionContext.CreateContext(FalseBranch));
+        if (FalseBranch != null) next.Insert(0, ExecutionContext.CreateOperation(FalseBranch));
       }
       return next;
Index: trunk/sources/HeuristicLab.Operators/3.3/DoubleCounter.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/DoubleCounter.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/DoubleCounter.cs	(revision 2834)
@@ -50,5 +50,5 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       if (ValueParameter.ActualValue == null) ValueParameter.ActualValue = new DoubleData();
       ValueParameter.ActualValue.Value += IncrementParameter.ActualValue.Value;
Index: trunk/sources/HeuristicLab.Operators/3.3/IntCounter.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/IntCounter.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/IntCounter.cs	(revision 2834)
@@ -50,5 +50,5 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       if (ValueParameter.ActualValue == null) ValueParameter.ActualValue = new IntData();
       ValueParameter.ActualValue.Value += IncrementParameter.ActualValue.Value;
Index: trunk/sources/HeuristicLab.Operators/3.3/Operator.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/Operator.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/Operator.cs	(revision 2834)
@@ -51,5 +51,5 @@
     }
     private ReadOnlyObservableKeyedCollection<string, IParameter> readOnlyParameters;
-    IObservableKeyedCollection<string, IParameter> IOperator.Parameters {
+    IObservableKeyedCollection<string, IParameter> IParameterizedItem.Parameters {
       get {
         if (readOnlyParameters == null) readOnlyParameters = parameters.AsReadOnly();
@@ -59,6 +59,6 @@
 
     [Storable]
-    private ExecutionContext executionContext;
-    protected ExecutionContext ExecutionContext {
+    private IExecutionContext executionContext;
+    protected IExecutionContext ExecutionContext {
       get { return executionContext; }
       private set {
@@ -122,10 +122,10 @@
       clone.canceled = canceled;
       clone.breakpoint = breakpoint;
-      clone.executionContext = (ExecutionContext)cloner.Clone(executionContext);
+      clone.executionContext = (IExecutionContext)cloner.Clone(executionContext);
       return clone;
     }
 
     /// <inheritdoc/>
-    public virtual IExecutionSequence Execute(ExecutionContext context) {
+    public virtual IOperation Execute(IExecutionContext context) {
       try {
         Canceled = false;
@@ -133,5 +133,5 @@
         foreach (IParameter param in Parameters)
           param.ExecutionContext = context;
-        IExecutionSequence next = Apply();
+        IOperation next = Apply();
         OnExecuted();
         return next;
@@ -153,5 +153,5 @@
     /// <param name="scope">The scope where to execute the operator</param>
     /// <returns><c>null</c>.</returns>
-    public abstract IExecutionSequence Apply();
+    public abstract IOperation Apply();
 
     protected virtual void OnExecutionContextChanged() { }
Index: trunk/sources/HeuristicLab.Operators/3.3/ParallelSubScopesProcessor.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/ParallelSubScopesProcessor.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/ParallelSubScopesProcessor.cs	(revision 2834)
@@ -33,11 +33,11 @@
     }
 
-    public override IExecutionSequence Apply() {
-      ExecutionContextCollection next = new ExecutionContextCollection(base.Apply());
+    public override IOperation Apply() {
+      OperationCollection next = new OperationCollection(base.Apply());
       if (Operators.Count > 0) {
-        ExecutionContextCollection inner = new ExecutionContextCollection();
+        OperationCollection inner = new OperationCollection();
         inner.Parallel = true;
         for (int i = 0; (i < ExecutionContext.Scope.SubScopes.Count) && (i < Operators.Count); i++)
-          if (Operators[i] != null) inner.Add(ExecutionContext.CreateContext(Operators[i], ExecutionContext.Scope.SubScopes[i]));
+          if (Operators[i] != null) inner.Add(ExecutionContext.CreateOperation(Operators[i], ExecutionContext.Scope.SubScopes[i]));
         next.Insert(0, inner);
       }
Index: trunk/sources/HeuristicLab.Operators/3.3/Placeholder.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/Placeholder.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/Placeholder.cs	(revision 2834)
@@ -41,9 +41,9 @@
     }
 
-    public override IExecutionSequence Apply() {
-      ExecutionContextCollection next = new ExecutionContextCollection(base.Apply());
+    public override IOperation Apply() {
+      OperationCollection next = new OperationCollection(base.Apply());
       IOperator op = OperatorParameter.ActualValue;
       if (op != null)
-        next.Insert(0, ExecutionContext.CreateContext(op));
+        next.Insert(0, ExecutionContext.CreateOperation(op));
       return next;
     }
Index: trunk/sources/HeuristicLab.Operators/3.3/ScopeCleaner.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/ScopeCleaner.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/ScopeCleaner.cs	(revision 2834)
@@ -44,5 +44,5 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       CurrentScope.Variables.Clear();
       CurrentScope.SubScopes.Clear();
Index: trunk/sources/HeuristicLab.Operators/3.3/SequentialSubScopesProcessor.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/SequentialSubScopesProcessor.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/SequentialSubScopesProcessor.cs	(revision 2834)
@@ -33,10 +33,10 @@
     }
 
-    public override IExecutionSequence Apply() {
-      ExecutionContextCollection next = new ExecutionContextCollection(base.Apply());
+    public override IOperation Apply() {
+      OperationCollection next = new OperationCollection(base.Apply());
       if (Operators.Count > 0) {
-        ExecutionContextCollection inner = new ExecutionContextCollection();
+        OperationCollection inner = new OperationCollection();
         for (int i = 0; (i < ExecutionContext.Scope.SubScopes.Count) && (i < Operators.Count); i++)
-          if (Operators[i] != null) inner.Add(ExecutionContext.CreateContext(Operators[i], ExecutionContext.Scope.SubScopes[i]));
+          if (Operators[i] != null) inner.Add(ExecutionContext.CreateOperation(Operators[i], ExecutionContext.Scope.SubScopes[i]));
         next.Insert(0, inner);
       }
Index: trunk/sources/HeuristicLab.Operators/3.3/SingleSuccessorOperator.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/SingleSuccessorOperator.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/SingleSuccessorOperator.cs	(revision 2834)
@@ -45,7 +45,7 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       if (Successor != null)
-        return ExecutionContext.CreateContext(Successor);
+        return ExecutionContext.CreateOperation(Successor);
       else
         return null;
Index: trunk/sources/HeuristicLab.Operators/3.3/StochasticBranch.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/StochasticBranch.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/StochasticBranch.cs	(revision 2834)
@@ -62,10 +62,10 @@
     }
 
-    public override IExecutionSequence Apply() {
-      ExecutionContextCollection next = new ExecutionContextCollection(base.Apply());
+    public override IOperation Apply() {
+      OperationCollection next = new OperationCollection(base.Apply());
       if (RandomParameter.ActualValue.NextDouble() < ProbabilityParameter.ActualValue.Value) {
-        if (FirstBranch != null) next.Insert(0, ExecutionContext.CreateContext(FirstBranch));
+        if (FirstBranch != null) next.Insert(0, ExecutionContext.CreateOperation(FirstBranch));
       } else {
-        if (SecondBranch != null) next.Insert(0, ExecutionContext.CreateContext(SecondBranch));
+        if (SecondBranch != null) next.Insert(0, ExecutionContext.CreateOperation(SecondBranch));
       }
       return next;
Index: trunk/sources/HeuristicLab.Operators/3.3/SubScopesCreator.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/SubScopesCreator.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/SubScopesCreator.cs	(revision 2834)
@@ -49,5 +49,5 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       int n = NumberOfSubScopesParameter.ActualValue.Value;
       for (int i = 0; i < n; i++)
Index: trunk/sources/HeuristicLab.Operators/3.3/SubScopesRemover.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/SubScopesRemover.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/SubScopesRemover.cs	(revision 2834)
@@ -58,5 +58,5 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       if (RemoveAllSubScopes)
         CurrentScope.SubScopes.Clear();
Index: trunk/sources/HeuristicLab.Operators/3.3/SubScopesSorter.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/SubScopesSorter.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/SubScopesSorter.cs	(revision 2834)
@@ -56,5 +56,5 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       descending = DescendingParameter.ActualValue.Value;
       actualName = LookupParameter<ItemArray<DoubleData>>.TranslateName(ValueParameter.Name, ExecutionContext);
Index: trunk/sources/HeuristicLab.Operators/3.3/UniformParallelSubScopesProcessor.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/UniformParallelSubScopesProcessor.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/UniformParallelSubScopesProcessor.cs	(revision 2834)
@@ -45,11 +45,11 @@
     }
 
-    public override IExecutionSequence Apply() {
-      ExecutionContextCollection next = new ExecutionContextCollection(base.Apply());
+    public override IOperation Apply() {
+      OperationCollection next = new OperationCollection(base.Apply());
       if (Operator != null) {
-        ExecutionContextCollection inner = new ExecutionContextCollection();
+        OperationCollection inner = new OperationCollection();
         inner.Parallel = true;
         for (int i = 0; i < ExecutionContext.Scope.SubScopes.Count; i++)
-          inner.Add(ExecutionContext.CreateContext(Operator, ExecutionContext.Scope.SubScopes[i]));
+          inner.Add(ExecutionContext.CreateOperation(Operator, ExecutionContext.Scope.SubScopes[i]));
         next.Insert(0, inner);
       }
Index: trunk/sources/HeuristicLab.Operators/3.3/UniformSequentialSubScopesProcessor.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/UniformSequentialSubScopesProcessor.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/UniformSequentialSubScopesProcessor.cs	(revision 2834)
@@ -45,10 +45,10 @@
     }
 
-    public override IExecutionSequence Apply() {
-      ExecutionContextCollection next = new ExecutionContextCollection(base.Apply());
+    public override IOperation Apply() {
+      OperationCollection next = new OperationCollection(base.Apply());
       if (Operator != null) {
-        ExecutionContextCollection inner = new ExecutionContextCollection();
+        OperationCollection inner = new OperationCollection();
         for (int i = 0; i < ExecutionContext.Scope.SubScopes.Count; i++)
-          inner.Add(ExecutionContext.CreateContext(Operator, ExecutionContext.Scope.SubScopes[i]));
+          inner.Add(ExecutionContext.CreateOperation(Operator, ExecutionContext.Scope.SubScopes[i]));
         next.Insert(0, inner);
       }
Index: trunk/sources/HeuristicLab.Operators/3.3/VariableCreator.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators/3.3/VariableCreator.cs	(revision 2831)
+++ trunk/sources/HeuristicLab.Operators/3.3/VariableCreator.cs	(revision 2834)
@@ -44,5 +44,5 @@
     }
 
-    public override IExecutionSequence Apply() {
+    public override IOperation Apply() {
       IVariable var;
       foreach (IParameter param in CollectedValues) {
