Index: trunk/sources/HeuristicLab.Parameters/3.3/LookupParameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Parameters/3.3/LookupParameter.cs	(revision 2818)
+++ trunk/sources/HeuristicLab.Parameters/3.3/LookupParameter.cs	(revision 2834)
@@ -74,5 +74,5 @@
       IValueParameter valueParam = this as IValueParameter;
       ILookupParameter lookupParam = this as ILookupParameter;
-      ExecutionContext current = ExecutionContext;
+      IExecutionContext current = ExecutionContext;
 
       name = Name;
@@ -82,10 +82,10 @@
 
         current = current.Parent;
-        while ((current != null) && !current.Operator.Parameters.ContainsKey(name))
+        while ((current != null) && !current.Parameters.ContainsKey(name))
           current = current.Parent;
 
         if (current != null) {
-          valueParam = current.Operator.Parameters[name] as IValueParameter;
-          lookupParam = current.Operator.Parameters[name] as ILookupParameter;
+          valueParam = current.Parameters[name] as IValueParameter;
+          lookupParam = current.Parameters[name] as ILookupParameter;
           if ((valueParam == null) && (lookupParam == null))
             throw new InvalidOperationException(
@@ -108,17 +108,17 @@
       return scope != null ? scope.Variables[actualName] : null;
     }
-    private IValueParameter GetProblemParameter(string name) {
-      IValueParameter param = null;
-      if (ExecutionContext.Problem.Parameters.ContainsKey(name)) {
-        param = ExecutionContext.Problem.Parameters[name] as IValueParameter;
-        if (param == null)
-          throw new InvalidOperationException(
-            string.Format("Parameter look-up chain broken. Parameter \"{0}\" is not an \"{1}\".",
-                          name,
-                          typeof(IValueParameter).GetPrettyName())
-          );
-      }
-      return param;
-    }
+    //private IValueParameter GetProblemParameter(string name) {
+    //  IValueParameter param = null;
+    //  if (ExecutionContext.Problem.Parameters.ContainsKey(name)) {
+    //    param = ExecutionContext.Problem.Parameters[name] as IValueParameter;
+    //    if (param == null)
+    //      throw new InvalidOperationException(
+    //        string.Format("Parameter look-up chain broken. Parameter \"{0}\" is not an \"{1}\".",
+    //                      name,
+    //                      typeof(IValueParameter).GetPrettyName())
+    //      );
+    //  }
+    //  return param;
+    //}
     protected override IItem GetActualValue() {
       string name;
@@ -141,6 +141,6 @@
 
       // try to get value from problem
-      IValueParameter problemParam = GetProblemParameter(name);
-      if (problemParam != null) return problemParam.Value;
+      //IValueParameter problemParam = GetProblemParameter(name);
+      //if (problemParam != null) return problemParam.Value;
 
       return null;
@@ -169,9 +169,9 @@
 
       // try to set value in problem
-      IValueParameter problemParam = GetProblemParameter(name);
-      if (problemParam != null) {
-        problemParam.Value = val;
-        return;
-      }
+      //IValueParameter problemParam = GetProblemParameter(name);
+      //if (problemParam != null) {
+      //  problemParam.Value = val;
+      //  return;
+      //}
 
       // create new variable
@@ -186,12 +186,12 @@
     }
 
-    public static string TranslateName(string name, ExecutionContext context) {
+    public static string TranslateName(string name, IExecutionContext context) {
       string currentName = name;
-      ExecutionContext currentContext = context;
+      IExecutionContext currentContext = context;
       IParameter param;
       ILookupParameter lookupParam;
 
       while (currentContext != null) {
-        currentContext.Operator.Parameters.TryGetValue(currentName, out param);
+        currentContext.Parameters.TryGetValue(currentName, out param);
         if (param != null) {
           lookupParam = param as ILookupParameter;
Index: trunk/sources/HeuristicLab.Parameters/3.3/Parameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Parameters/3.3/Parameter.cs	(revision 2818)
+++ trunk/sources/HeuristicLab.Parameters/3.3/Parameter.cs	(revision 2834)
@@ -48,6 +48,6 @@
     }
     [Storable]
-    private ExecutionContext executionContext;
-    public ExecutionContext ExecutionContext {
+    private IExecutionContext executionContext;
+    public IExecutionContext ExecutionContext {
       get { return executionContext; }
       set {
@@ -77,5 +77,5 @@
       Parameter clone = (Parameter)base.Clone(cloner);
       clone.dataType = dataType;
-      clone.executionContext = (ExecutionContext)cloner.Clone(executionContext);
+      clone.executionContext = (IExecutionContext)cloner.Clone(executionContext);
       return clone;
     }
