Index: trunk/sources/HeuristicLab.Core/3.3/Attributes/CreatableAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Attributes/CreatableAttribute.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Attributes/CreatableAttribute.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Attributes/ItemAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Attributes/ItemAttribute.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Attributes/ItemAttribute.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/ChangedEventArgs.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/ChangedEventArgs.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/ChangedEventArgs.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Text;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Core {
@@ -28,19 +29,11 @@
 
   public class ChangedEventArgs : EventArgs {
-    private class ReferenceEqualityComparer : IEqualityComparer<object> {
-      bool IEqualityComparer<object>.Equals(object x, object y) {
-        return object.ReferenceEquals(x, y);
-      }
-
-      int IEqualityComparer<object>.GetHashCode(object obj) {
-        if (obj == null) return 0;
-        return obj.GetHashCode();
-      }
-    }
-
     private HashSet<object> changedObjects;
 
     public ChangedEventArgs() {
-      changedObjects = new HashSet<object>(new ReferenceEqualityComparer());
+      changedObjects = new HashSet<object>(new ReferenceEqualityComparer<object>());
+    }
+    public ChangedEventArgs(IEnumerable<object> collection) {
+      changedObjects = new HashSet<object>(collection, new ReferenceEqualityComparer<object>());
     }
 
Index: trunk/sources/HeuristicLab.Core/3.3/Cloner.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Cloner.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Cloner.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Text;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Core {
@@ -29,15 +30,4 @@
   /// </summary>
   public sealed class Cloner {
-    private class ReferenceEqualityComparer : IEqualityComparer<IDeepCloneable> {
-      bool IEqualityComparer<IDeepCloneable>.Equals(IDeepCloneable x, IDeepCloneable y) {
-        return object.ReferenceEquals(x, y);
-      }
-
-      int IEqualityComparer<IDeepCloneable>.GetHashCode(IDeepCloneable obj) {
-        if (obj == null) return 0;
-        return obj.GetHashCode();
-      }
-    }
-
     private Dictionary<IDeepCloneable, IDeepCloneable> mapping;
 
@@ -46,5 +36,5 @@
     /// </summary>
     public Cloner() {
-      mapping = new Dictionary<IDeepCloneable, IDeepCloneable>(new ReferenceEqualityComparer());
+      mapping = new Dictionary<IDeepCloneable, IDeepCloneable>(new ReferenceEqualityComparer<IDeepCloneable>());
     }
 
Index: trunk/sources/HeuristicLab.Core/3.3/DeepCloneable.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/DeepCloneable.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/DeepCloneable.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Engine.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Engine.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Engine.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -58,5 +58,5 @@
           if (operatorGraph != null) operatorGraph.InitialOperatorChanged += new EventHandler(operatorGraph_InitialOperatorChanged);
           OnOperatorGraphChanged();
-          Initialize();
+          Prepare();
         }
       }
@@ -67,5 +67,5 @@
     /// </summary>
     [Storable]
-    private Scope globalScope;
+    private IScope globalScope;
     /// <summary>
     /// Gets the current global scope.
@@ -132,5 +132,4 @@
     /// Initializes a new instance of <see cref="EngineBase"/> with a new global scope.
     /// </summary>
-    /// <remarks>Calls <see cref="Reset"/>.</remarks>
     protected Engine() {
       globalScope = new Scope("Global");
@@ -161,8 +160,8 @@
     /// <inheritdoc/>
     /// <remarks>Sets <c>myCanceled</c> and <c>myRunning</c> to <c>false</c>. The global scope is cleared,
-    /// the execution time is reseted, the execution stack is cleared and a new <see cref="AtomicOperation"/>
+    /// the execution time is reset, the execution stack is cleared and a new <see cref="AtomicOperation"/>
     /// with the initial operator is added. <br/>
-    /// Calls <see cref="OnInitialized"/>.</remarks>
-    public void Initialize() {
+    /// Calls <see cref="OnPrepared"/>.</remarks>
+    public void Prepare() {
       canceled = false;
       running = false;
@@ -172,5 +171,5 @@
       if (OperatorGraph.InitialOperator != null)
         executionStack.Push(new ExecutionContext(null, OperatorGraph.InitialOperator, GlobalScope));
-      OnInitialized();
+      OnPrepared();
     }
     /// <inheritdoc/>
@@ -226,5 +225,5 @@
 
     private void operatorGraph_InitialOperatorChanged(object sender, EventArgs e) {
-      Initialize();
+      Prepare();
     }
 
@@ -246,13 +245,13 @@
     }
     /// <summary>
-    /// Occurs when the execution is initialized.
-    /// </summary>
-    public event EventHandler Initialized;
-    /// <summary>
-    /// Fires a new <c>Initialized</c> event.
-    /// </summary>
-    protected virtual void OnInitialized() {
-      if (Initialized != null)
-        Initialized(this, new EventArgs());
+    /// Occurs when the execution is prepared for a new run.
+    /// </summary>
+    public event EventHandler Prepared;
+    /// <summary>
+    /// Fires a new <c>Prepared</c> event.
+    /// </summary>
+    protected virtual void OnPrepared() {
+      if (Prepared != null)
+        Prepared(this, new EventArgs());
     }
     /// <summary>
Index: trunk/sources/HeuristicLab.Core/3.3/ExecutionContext.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/ExecutionContext.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/ExecutionContext.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/ExecutionContextCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/ExecutionContextCollection.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/ExecutionContextCollection.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/HeuristicLabCorePlugin.cs.frame
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/HeuristicLabCorePlugin.cs.frame	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/HeuristicLabCorePlugin.cs.frame	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IDeepCloneable.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IDeepCloneable.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IDeepCloneable.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IEngine.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IEngine.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IEngine.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -56,7 +56,7 @@
 
     /// <summary>
-    /// Resets the current instance.
+    /// Prepares the engine for a new run.
     /// </summary>
-    void Initialize();
+    void Prepare();
     /// <summary>
     /// Executes the whole run.
@@ -78,7 +78,7 @@
     event EventHandler ExecutionTimeChanged;
     /// <summary>
-    /// Occurs when the engine is initialized.
+    /// Occurs when the engine is prepared for a new run.
     /// </summary>
-    event EventHandler Initialized;
+    event EventHandler Prepared;
     /// <summary>
     /// Occurs when the engine is executed.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IExecutionSequence.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IExecutionSequence.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IExecutionSequence.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IItem.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/INamedItem.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/INamedItem.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/INamedItem.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IOperator.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IOperator.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IOperator.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IParameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IParameter.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IParameter.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IRandom.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IRandom.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IRandom.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IScope.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IScope.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IScope.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -35,4 +35,6 @@
     VariableCollection Variables { get; }
     ScopeList SubScopes { get; }
+
+    void Clear();
   }
 }
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IVariable.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IVariable.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IVariable.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Item.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Item.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Item.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/ItemArray.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/ItemArray.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/ItemArray.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/ItemCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/ItemCollection.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/ItemCollection.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/ItemList.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/ItemList.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/ItemList.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/ItemSet.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/ItemSet.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/ItemSet.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/NamedItem.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/NamedItem.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/NamedItem.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -31,5 +31,5 @@
   public abstract class NamedItem : Item, INamedItem {
     [Storable]
-    protected string name;
+    private string name;
     /// <inheritdoc/>
     /// <remarks>Calls <see cref="OnNameChanging"/> and also <see cref="OnNameChanged"/> 
@@ -54,5 +54,5 @@
     }
     [Storable]
-    protected string description;
+    private string description;
     public string Description {
       get { return description; }
Index: trunk/sources/HeuristicLab.Core/3.3/NamedItemCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/NamedItemCollection.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/NamedItemCollection.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,14 +21,23 @@
 
 using System;
-using System.Collections;
 using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Text;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using System.Drawing;
 using HeuristicLab.Collections;
 using HeuristicLab.Common;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 
 namespace HeuristicLab.Core {
-  public class NamedItemCollection<T> : ObservableKeyedCollection<string, T>, IDeepCloneable where T : class, INamedItem {
+  [Item("NamedItemCollection<T>", "Represents a collection of named items.")]
+  public class NamedItemCollection<T> : ObservableKeyedCollection<string, T>, IItem where T : class, INamedItem {
+    public virtual string ItemName {
+      get { return ItemAttribute.GetName(this.GetType()); }
+    }
+    public virtual string ItemDescription {
+      get { return ItemAttribute.GetDescription(this.GetType()); }
+    }
+    public virtual Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Class; }
+    }
+
     [Storable(Name = "RestoreEvents")]
     private object RestoreEvents {
@@ -50,5 +59,4 @@
       return Clone(new Cloner());
     }
-
     public IDeepCloneable Clone(Cloner cloner) {
       List<T> items = new List<T>();
@@ -58,4 +66,8 @@
       cloner.RegisterClonedObject(this, clone);
       return clone;
+    }
+
+    public override string ToString() {
+      return ItemName;
     }
 
Index: trunk/sources/HeuristicLab.Core/3.3/OperatorCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/OperatorCollection.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/OperatorCollection.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/OperatorGraph.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/OperatorGraph.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/OperatorGraph.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -141,8 +141,22 @@
         operators.ItemsRemoved += new CollectionItemsChangedEventHandler<IOperator>(Operators_ItemsRemoved);
         operators.CollectionReset += new CollectionItemsChangedEventHandler<IOperator>(Operators_CollectionReset);
+        foreach (IOperator op in operators) {
+          RegisterOperatorEvents(op);
+          foreach (IParameter param in op.Parameters) {
+            IValueParameter<IOperator> opParam = param as IValueParameter<IOperator>;
+            if (opParam != null) RegisterOperatorParameterEvents(opParam);
+          }
+        }
       }
     }
     private void DeregisterOperatorsEvents() {
       if (operators != null) {
+        foreach (IOperator op in operators) {
+          foreach (IParameter param in op.Parameters) {
+            IValueParameter<IOperator> opParam = param as IValueParameter<IOperator>;
+            if (opParam != null) DeregisterOperatorParameterEvents(opParam);
+          }
+          DeregisterOperatorEvents(op);
+        }
         operators.Changed -= new ChangedEventHandler(Operators_Changed);
         operators.ItemsAdded -= new CollectionItemsChangedEventHandler<IOperator>(Operators_ItemsAdded);
Index: trunk/sources/HeuristicLab.Core/3.3/OperatorList.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/OperatorList.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/OperatorList.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/OperatorSet.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/OperatorSet.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/OperatorSet.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/ParameterCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/ParameterCollection.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/ParameterCollection.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -20,12 +20,6 @@
 #endregion
 
-using System;
-using System.Collections;
 using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Text;
-using System.Drawing;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-using HeuristicLab.Common.Resources;
 
 namespace HeuristicLab.Core {
@@ -33,22 +27,8 @@
   [Item("ParameterCollection", "Represents a collection of parameters.")]
   [Creatable("Test")]
-  public class ParameterCollection : NamedItemCollection<IParameter>, IItem {
-    public virtual string ItemName {
-      get { return ItemAttribute.GetName(this.GetType()); }
-    }
-    public virtual string ItemDescription {
-      get { return ItemAttribute.GetDescription(this.GetType()); }
-    }
-    public virtual Image ItemImage {
-      get { return VS2008ImageLibrary.Class; }
-    }
-
+  public class ParameterCollection : NamedItemCollection<IParameter> {
     public ParameterCollection() : base() { }
     public ParameterCollection(int capacity) : base(capacity) { }
     public ParameterCollection(IEnumerable<IParameter> collection) : base(collection) { }
-
-    public override string ToString() {
-      return ItemName;
-    }
   }
 }
Index: trunk/sources/HeuristicLab.Core/3.3/Properties/AssemblyInfo.frame
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Properties/AssemblyInfo.frame	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Properties/AssemblyInfo.frame	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Scope.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Scope.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Scope.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -97,6 +97,6 @@
       Scope clone = new Scope();
       cloner.RegisterClonedObject(this, clone);
-      clone.name = name;
-      clone.description = description;
+      clone.Name = Name;
+      clone.Description = Description;
       clone.parent = (IScope)cloner.Clone(parent);
       clone.Variables = (VariableCollection)cloner.Clone(variables);
Index: trunk/sources/HeuristicLab.Core/3.3/ScopeList.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/ScopeList.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/ScopeList.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: trunk/sources/HeuristicLab.Core/3.3/Variable.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Variable.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/Variable.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -77,6 +77,6 @@
       Variable clone = new Variable();
       cloner.RegisterClonedObject(this, clone);
-      clone.name = name;
-      clone.description = description;
+      clone.Name = Name;
+      clone.Description = Description;
       clone.Value = (IItem)cloner.Clone(value);
       return clone;
Index: trunk/sources/HeuristicLab.Core/3.3/VariableCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/VariableCollection.cs	(revision 2773)
+++ trunk/sources/HeuristicLab.Core/3.3/VariableCollection.cs	(revision 2790)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -20,12 +20,6 @@
 #endregion
 
-using System;
-using System.Collections;
 using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Text;
-using System.Drawing;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-using HeuristicLab.Common.Resources;
 
 namespace HeuristicLab.Core {
@@ -33,22 +27,8 @@
   [Item("VariableCollection", "Represents a collection of variables.")]
   [Creatable("Test")]
-  public class VariableCollection : NamedItemCollection<IVariable>, IItem {
-    public virtual string ItemName {
-      get { return ItemAttribute.GetName(this.GetType()); }
-    }
-    public virtual string ItemDescription {
-      get { return ItemAttribute.GetDescription(this.GetType()); }
-    }
-    public virtual Image ItemImage {
-      get { return VS2008ImageLibrary.Class; }
-    }
-
+  public class VariableCollection : NamedItemCollection<IVariable> {
     public VariableCollection() : base() { }
     public VariableCollection(int capacity) : base(capacity) { }
     public VariableCollection(IEnumerable<IVariable> collection) : base(collection) { }
-
-    public override string ToString() {
-      return ItemName;
-    }
   }
 }
