Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs	(revision 3393)
@@ -34,5 +34,5 @@
   [View("ItemArray View")]
   [Content(typeof(ItemArray<>), true)]
-  [Content(typeof(IObservableArray<>), false)]
+  [Content(typeof(IItemArray<>), false)]
   public partial class ItemArrayView<T> : AsynchronousContentView where T : class, IItem {
     /// <summary>
@@ -41,6 +41,6 @@
     /// <remarks>Uses property <see cref="ViewBase.Item"/> of base class <see cref="ViewBase"/>.
     /// No won data storage present.</remarks>
-    public new IObservableArray<T> Content {
-      get { return (IObservableArray<T>)base.Content; }
+    public new IItemArray<T> Content {
+      get { return (IItemArray<T>)base.Content; }
       set { base.Content = value; }
     }
@@ -57,5 +57,5 @@
       Caption = "Item Array";
     }
-    public ItemArrayView(IObservableArray<T> content)
+    public ItemArrayView(IItemArray<T> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 3393)
@@ -31,8 +31,8 @@
   [View("ItemCollection View")]
   [Content(typeof(ItemCollection<>), true)]
-  [Content(typeof(IObservableCollection<>), false)]
+  [Content(typeof(IItemCollection<>), false)]
   public partial class ItemCollectionView<T> : AsynchronousContentView where T : class, IItem {
-    public new IObservableCollection<T> Content {
-      get { return (IObservableCollection<T>)base.Content; }
+    public new IItemCollection<T> Content {
+      get { return (IItemCollection<T>)base.Content; }
       set { base.Content = value; }
     }
@@ -46,5 +46,5 @@
       Caption = "Item Collection";
     }
-    public ItemCollectionView(IObservableCollection<T> content)
+    public ItemCollectionView(IItemCollection<T> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 3393)
@@ -34,5 +34,5 @@
   [View("ItemList View")]
   [Content(typeof(ItemList<>), true)]
-  [Content(typeof(IObservableList<>), false)]
+  [Content(typeof(IItemList<>), false)]
   public partial class ItemListView<T> : AsynchronousContentView where T : class, IItem {
     /// <summary>
@@ -41,6 +41,6 @@
     /// <remarks>Uses property <see cref="ViewBase.Item"/> of base class <see cref="ViewBase"/>.
     /// No won data storage present.</remarks>
-    public new IObservableList<T> Content {
-      get { return (IObservableList<T>)base.Content; }
+    public new IItemList<T> Content {
+      get { return (IItemList<T>)base.Content; }
       set { base.Content = value; }
     }
@@ -57,5 +57,5 @@
       Caption = "Item List";
     }
-    public ItemListView(IObservableList<T> content)
+    public ItemListView(IItemList<T> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemSetView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemSetView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemSetView.cs	(revision 3393)
@@ -28,8 +28,8 @@
   [View("ItemSet View")]
   [Content(typeof(ItemSet<>), true)]
-  [Content(typeof(IObservableSet<>), false)]
+  [Content(typeof(IItemSet<>), false)]
   public partial class ItemSetView<T> : ItemCollectionView<T> where T : class, IItem {
-    public new IObservableSet<T> Content {
-      get { return (IObservableSet<T>)base.Content; }
+    public new IItemSet<T> Content {
+      get { return (IItemSet<T>)base.Content; }
       set { base.Content = value; }
     }
@@ -45,5 +45,5 @@
       Caption = "Item Set";
     }
-    public ItemSetView(IObservableSet<T> content)
+    public ItemSetView(IItemSet<T> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemCollectionView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemCollectionView.cs	(revision 3393)
@@ -29,6 +29,6 @@
   [Content(typeof(NamedItemCollection<>), true)]
   public partial class NamedItemCollectionView<T> : ItemCollectionView<T> where T : class, INamedItem {
-    public new IObservableKeyedCollection<string, T> Content {
-      get { return (IObservableKeyedCollection<string, T>)base.Content; }
+    public new IKeyedItemCollection<string, T> Content {
+      get { return (IKeyedItemCollection<string, T>)base.Content; }
       set { base.Content = value; }
     }
@@ -44,5 +44,5 @@
       Caption = "Named Item Collection";
     }
-    public NamedItemCollectionView(IObservableKeyedCollection<string, T> content)
+    public NamedItemCollectionView(IKeyedItemCollection<string, T> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorCollectionView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorCollectionView.cs	(revision 3393)
@@ -6,5 +6,5 @@
   [View("OperatorCollection View")]
   [Content(typeof(OperatorCollection), true)]
-  [Content(typeof(IObservableCollection<IOperator>), false)]
+  [Content(typeof(IItemCollection<IOperator>), false)]
   public partial class OperatorCollectionView : ItemCollectionView<IOperator> {
     protected TypeSelectorDialog typeSelectorDialog;
@@ -24,5 +24,5 @@
     /// <remarks>Calls <see cref="VariablesScopeView()"/>.</remarks>
     /// <param name="scope">The scope whose variables should be represented visually.</param>
-    public OperatorCollectionView(IObservableCollection<IOperator> content)
+    public OperatorCollectionView(IItemCollection<IOperator> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorListView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorListView.cs	(revision 3393)
@@ -27,5 +27,5 @@
   [View("OperatorList View")]
   [Content(typeof(OperatorList), true)]
-  [Content(typeof(IObservableList<IOperator>), false)]
+  [Content(typeof(IItemList<IOperator>), false)]
   public partial class OperatorListView : ItemListView<IOperator> {
     protected TypeSelectorDialog typeSelectorDialog;
@@ -45,5 +45,5 @@
     /// <remarks>Calls <see cref="VariablesScopeView()"/>.</remarks>
     /// <param name="scope">The scope whose variables should be represented visually.</param>
-    public OperatorListView(IObservableList<IOperator> content)
+    public OperatorListView(IItemList<IOperator> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorSetView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorSetView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorSetView.cs	(revision 3393)
@@ -6,5 +6,5 @@
   [View("OperatorSet View")]
   [Content(typeof(OperatorSet), true)]
-  [Content(typeof(IObservableSet<IOperator>), false)]
+  [Content(typeof(IItemSet<IOperator>), false)]
   public partial class OperatorSetView : ItemSetView<IOperator> {
     protected TypeSelectorDialog typeSelectorDialog;
@@ -24,5 +24,5 @@
     /// <remarks>Calls <see cref="VariablesScopeView()"/>.</remarks>
     /// <param name="scope">The scope whose variables should be represented visually.</param>
-    public OperatorSetView(IObservableSet<IOperator> content)
+    public OperatorSetView(IItemSet<IOperator> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs	(revision 3393)
@@ -37,5 +37,5 @@
     private Dictionary<IValueParameter<IOperator>, List<TreeNode>> opParamNodeTable;
     private Dictionary<IOperator, List<TreeNode>> operatorNodeTable;
-    private Dictionary<IObservableKeyedCollection<string, IParameter>, IOperator> parametersOperatorTable;
+    private Dictionary<IKeyedItemCollection<string, IParameter>, IOperator> parametersOperatorTable;
 
     /// <summary>
@@ -68,5 +68,5 @@
       opParamNodeTable = new Dictionary<IValueParameter<IOperator>, List<TreeNode>>();
       operatorNodeTable = new Dictionary<IOperator, List<TreeNode>>();
-      parametersOperatorTable = new Dictionary<IObservableKeyedCollection<string, IParameter>, IOperator>();
+      parametersOperatorTable = new Dictionary<IKeyedItemCollection<string, IParameter>, IOperator>();
       Caption = "Operator";
     }
@@ -291,5 +291,5 @@
         Invoke(new CollectionItemsChangedEventHandler<IParameter>(Parameters_ItemsAdded), sender, e);
       else {
-        IObservableKeyedCollection<string, IParameter> coll = (IObservableKeyedCollection<string, IParameter>)sender;
+        IKeyedItemCollection<string, IParameter> coll = (IKeyedItemCollection<string, IParameter>)sender;
         IOperator op = parametersOperatorTable[coll];
         AddParameterNodes(op, e.Items);
@@ -307,5 +307,5 @@
       else {
         RemoveParameterNodes(e.Items);
-        IObservableKeyedCollection<string, IParameter> coll = (IObservableKeyedCollection<string, IParameter>)sender;
+        IKeyedItemCollection<string, IParameter> coll = (IKeyedItemCollection<string, IParameter>)sender;
         IOperator op = parametersOperatorTable[coll];
         AddParameterNodes(op, e.Items);
@@ -317,5 +317,5 @@
       else {
         RemoveParameterNodes(e.Items);
-        IObservableKeyedCollection<string, IParameter> coll = (IObservableKeyedCollection<string, IParameter>)sender;
+        IKeyedItemCollection<string, IParameter> coll = (IKeyedItemCollection<string, IParameter>)sender;
         IOperator op = parametersOperatorTable[coll];
         AddParameterNodes(op, e.Items);
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ParameterCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ParameterCollectionView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ParameterCollectionView.cs	(revision 3393)
@@ -28,5 +28,5 @@
   [View("ParameterCollection View")]
   [Content(typeof(ParameterCollection), true)]
-  [Content(typeof(IObservableKeyedCollection<string, IParameter>), false)]
+  [Content(typeof(IKeyedItemCollection<string, IParameter>), false)]
   public partial class ParameterCollectionView : NamedItemCollectionView<IParameter> {
     protected CreateParameterDialog createParameterDialog;
@@ -45,5 +45,5 @@
     /// <remarks>Calls <see cref="VariablesScopeView()"/>.</remarks>
     /// <param name="scope">The scope whose variables should be represented visually.</param>
-    public ParameterCollectionView(IObservableKeyedCollection<string, IParameter> content)
+    public ParameterCollectionView(IKeyedItemCollection<string, IParameter> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ScopeListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ScopeListView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ScopeListView.cs	(revision 3393)
@@ -5,5 +5,5 @@
   [View("ScopeList View")]
   [Content(typeof(ScopeList), true)]
-  [Content(typeof(IObservableList<IScope>), false)]
+  [Content(typeof(IItemList<IScope>), false)]
   public partial class ScopeListView : ItemListView<IScope> {
     /// <summary>
@@ -21,5 +21,5 @@
     /// <remarks>Calls <see cref="VariablesScopeView()"/>.</remarks>
     /// <param name="scope">The scope whose variables should be represented visually.</param>
-    public ScopeListView(IObservableList<IScope> content)
+    public ScopeListView(IItemList<IScope> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ValueParameterCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ValueParameterCollectionView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ValueParameterCollectionView.cs	(revision 3393)
@@ -28,5 +28,5 @@
   [View("ValueParameterCollection View")]
   [Content(typeof(ValueParameterCollection), true)]
-  [Content(typeof(IObservableKeyedCollection<string, IValueParameter>), false)]
+  [Content(typeof(IKeyedItemCollection<string, IValueParameter>), false)]
   public partial class ValueParameterCollectionView : NamedItemCollectionView<IValueParameter> {
     protected CreateParameterDialog createParameterDialog;
@@ -45,5 +45,5 @@
     /// <remarks>Calls <see cref="VariablesScopeView()"/>.</remarks>
     /// <param name="scope">The scope whose variables should be represented visually.</param>
-    public ValueParameterCollectionView(IObservableKeyedCollection<string, IValueParameter> content)
+    public ValueParameterCollectionView(IKeyedItemCollection<string, IValueParameter> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/VariableCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/VariableCollectionView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/VariableCollectionView.cs	(revision 3393)
@@ -5,5 +5,5 @@
   [View("VariableCollection View")]
   [Content(typeof(VariableCollection), true)]
-  [Content(typeof(IObservableKeyedCollection<string, IVariable>), false)]
+  [Content(typeof(IKeyedItemCollection<string, IVariable>), false)]
   public partial class VariableCollectionView : NamedItemCollectionView<IVariable> {
     /// <summary>
@@ -21,5 +21,5 @@
     /// <remarks>Calls <see cref="VariablesScopeView()"/>.</remarks>
     /// <param name="scope">The scope whose variables should be represented visually.</param>
-    public VariableCollectionView(IObservableKeyedCollection<string, IVariable> content)
+    public VariableCollectionView(IKeyedItemCollection<string, IVariable> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Core/3.3/ExecutionContext.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/ExecutionContext.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core/3.3/ExecutionContext.cs	(revision 3393)
@@ -37,5 +37,5 @@
     }
 
-    public IObservableKeyedCollection<string, IParameter> Parameters {
+    public IKeyedItemCollection<string, IParameter> Parameters {
       get { return parameterizedItem.Parameters; }
     }
Index: /trunk/sources/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs	(revision 3393)
@@ -29,5 +29,5 @@
   public interface IExecutionContext : IDeepCloneable {
     IExecutionContext Parent { get; }
-    IObservableKeyedCollection<string, IParameter> Parameters { get; }
+    IKeyedItemCollection<string, IParameter> Parameters { get; }
     IScope Scope { get; }
 
Index: /trunk/sources/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs	(revision 3393)
@@ -28,5 +28,5 @@
   /// </summary>
   public interface IParameterizedItem : IItem {
-    IObservableKeyedCollection<string, IParameter> Parameters { get; }
+    IKeyedItemCollection<string, IParameter> Parameters { get; }
 
     void CollectParameterValues(IDictionary<string, IItem> values);
Index: /trunk/sources/HeuristicLab.Core/3.3/ParameterizedNamedItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/ParameterizedNamedItem.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Core/3.3/ParameterizedNamedItem.cs	(revision 3393)
@@ -38,6 +38,6 @@
       get { return parameters; }
     }
-    private ReadOnlyObservableKeyedCollection<string, IParameter> readOnlyParameters;
-    IObservableKeyedCollection<string, IParameter> IParameterizedItem.Parameters {
+    private ReadOnlyKeyedItemCollection<string, IParameter> readOnlyParameters;
+    IKeyedItemCollection<string, IParameter> IParameterizedItem.Parameters {
       get {
         if (readOnlyParameters == null) readOnlyParameters = parameters.AsReadOnly();
Index: /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphVisualization/OperatorGraphVisualizationInfo.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphVisualization/OperatorGraphVisualizationInfo.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphVisualization/OperatorGraphVisualizationInfo.cs	(revision 3393)
@@ -36,5 +36,5 @@
     [Storable]
     private BidirectionalLookup<IOperator, IOperatorShapeInfo> operatorShapeInfoMapping;
-    private BidirectionalLookup<IOperator, IObservableKeyedCollection<string, IParameter>> operatorParameterCollectionMapping;
+    private BidirectionalLookup<IOperator, IKeyedItemCollection<string, IParameter>> operatorParameterCollectionMapping;
     private Dictionary<IParameter, IOperator> parameterOperatorMapping;
 
@@ -42,5 +42,5 @@
       : base() {
       this.operatorShapeInfoMapping = new BidirectionalLookup<IOperator, IOperatorShapeInfo>();
-      this.operatorParameterCollectionMapping = new BidirectionalLookup<IOperator, IObservableKeyedCollection<string, IParameter>>();
+      this.operatorParameterCollectionMapping = new BidirectionalLookup<IOperator, IKeyedItemCollection<string, IParameter>>();
       this.parameterOperatorMapping = new Dictionary<IParameter, IOperator>();
     }
@@ -49,5 +49,5 @@
     private OperatorGraphVisualizationInfo(bool deserializing)
       : base() {
-      this.operatorParameterCollectionMapping = new BidirectionalLookup<IOperator, IObservableKeyedCollection<string, IParameter>>();
+      this.operatorParameterCollectionMapping = new BidirectionalLookup<IOperator, IKeyedItemCollection<string, IParameter>>();
       this.parameterOperatorMapping = new Dictionary<IParameter, IOperator>();
     }
@@ -367,5 +367,5 @@
 
     private void Parameters_ItemsAdded(object sender, CollectionItemsChangedEventArgs<IParameter> e) {
-      IObservableKeyedCollection<string, IParameter> parameterCollection = sender as IObservableKeyedCollection<string, IParameter>;
+      IKeyedItemCollection<string, IParameter> parameterCollection = sender as IKeyedItemCollection<string, IParameter>;
       IOperator op = this.operatorParameterCollectionMapping.GetBySecond(parameterCollection);
       foreach (IParameter param in e.Items)
@@ -374,5 +374,5 @@
     }
     private void Parameters_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<IParameter> e) {
-      IObservableKeyedCollection<string, IParameter> parameterCollection = sender as IObservableKeyedCollection<string, IParameter>;
+      IKeyedItemCollection<string, IParameter> parameterCollection = sender as IKeyedItemCollection<string, IParameter>;
       IOperator op = this.operatorParameterCollectionMapping.GetBySecond(parameterCollection);
       foreach (IParameter param in e.Items)
@@ -381,5 +381,5 @@
     }
     private void Parameters_ItemsReplaced(object sender, CollectionItemsChangedEventArgs<IParameter> e) {
-      IObservableKeyedCollection<string, IParameter> parameterCollection = sender as IObservableKeyedCollection<string, IParameter>;
+      IKeyedItemCollection<string, IParameter> parameterCollection = sender as IKeyedItemCollection<string, IParameter>;
       IOperator op = this.operatorParameterCollectionMapping.GetBySecond(parameterCollection);
       foreach (IParameter param in e.OldItems)
@@ -390,5 +390,5 @@
     }
     private void Parameters_CollectionReset(object sender, CollectionItemsChangedEventArgs<IParameter> e) {
-      IObservableKeyedCollection<string, IParameter> parameterCollection = sender as IObservableKeyedCollection<string, IParameter>;
+      IKeyedItemCollection<string, IParameter> parameterCollection = sender as IKeyedItemCollection<string, IParameter>;
       IOperator op = this.operatorParameterCollectionMapping.GetBySecond(parameterCollection);
       foreach (IParameter param in e.OldItems)
Index: /trunk/sources/HeuristicLab.Operators/3.3/CombinedOperator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/CombinedOperator.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Operators/3.3/CombinedOperator.cs	(revision 3393)
@@ -38,5 +38,5 @@
       get { return base.Parameters; }
     }
-    IObservableKeyedCollection<string, IParameter> IParameterizedItem.Parameters {
+    IKeyedItemCollection<string, IParameter> IParameterizedItem.Parameters {
       get { return Parameters; }
     }
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/OptimizerListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/OptimizerListView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/OptimizerListView.cs	(revision 3393)
@@ -22,4 +22,5 @@
 using System.Windows.Forms;
 using HeuristicLab.Collections;
+using HeuristicLab.Core;
 using HeuristicLab.Core.Views;
 using HeuristicLab.MainForm;
@@ -28,5 +29,5 @@
   [View("OptimizerList View")]
   [Content(typeof(OptimizerList), true)]
-  [Content(typeof(IObservableList<IOptimizer>), false)]
+  [Content(typeof(IItemList<IOptimizer>), false)]
   public partial class OptimizerListView : ItemListView<IOptimizer> {
     protected TypeSelectorDialog typeSelectorDialog;
@@ -46,5 +47,5 @@
     /// <remarks>Calls <see cref="VariablesScopeView()"/>.</remarks>
     /// <param name="scope">The scope whose variables should be represented visually.</param>
-    public OptimizerListView(IObservableList<IOptimizer> content)
+    public OptimizerListView(IItemList<IOptimizer> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/ResultCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/ResultCollectionView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/ResultCollectionView.cs	(revision 3393)
@@ -29,5 +29,5 @@
   [View("ResultCollection View")]
   [Content(typeof(ResultCollection), true)]
-  [Content(typeof(IObservableKeyedCollection<string, IResult>), false)]
+  [Content(typeof(IKeyedItemCollection<string, IResult>), false)]
   public partial class ResultCollectionView : NamedItemCollectionView<IResult> {
     public override bool ReadOnly {
@@ -50,5 +50,5 @@
     /// <remarks>Calls <see cref="VariablesScopeView()"/>.</remarks>
     /// <param name="scope">The scope whose variables should be represented visually.</param>
-    public ResultCollectionView(IObservableKeyedCollection<string, IResult> content)
+    public ResultCollectionView(IKeyedItemCollection<string, IResult> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionView.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionView.cs	(revision 3393)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Collections;
+using HeuristicLab.Core;
 using HeuristicLab.Core.Views;
 using HeuristicLab.MainForm;
@@ -31,8 +32,8 @@
   [View("RunCollection View")]
   [Content(typeof(RunCollection), true)]
-  [Content(typeof(IObservableCollection<IRun>), false)]
+  [Content(typeof(IItemCollection<IRun>), false)]
   public partial class RunCollectionView : AsynchronousContentView {
-    public new IObservableCollection<IRun> Content {
-      get { return (IObservableCollection<IRun>)base.Content; }
+    public new IItemCollection<IRun> Content {
+      get { return (IItemCollection<IRun>)base.Content; }
       set { base.Content = value; }
     }
@@ -47,5 +48,5 @@
     }
 
-    public RunCollectionView(IObservableCollection<IRun> content)
+    public RunCollectionView(IItemCollection<IRun> content)
       : this() {
       Content = content;
Index: /trunk/sources/HeuristicLab.Optimization/3.3/UserDefinedAlgorithm.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization/3.3/UserDefinedAlgorithm.cs	(revision 3392)
+++ /trunk/sources/HeuristicLab.Optimization/3.3/UserDefinedAlgorithm.cs	(revision 3393)
@@ -37,5 +37,5 @@
       get { return base.Parameters; }
     }
-    IObservableKeyedCollection<string, IParameter> IParameterizedItem.Parameters {
+    IKeyedItemCollection<string, IParameter> IParameterizedItem.Parameters {
       get { return Parameters; }
     }
