Index: branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/IInteractionInitializer.cs
===================================================================
--- branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/IInteractionInitializer.cs	(revision 12569)
+++ branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/IInteractionInitializer.cs	(revision 12582)
@@ -24,5 +24,5 @@
 
 namespace HeuristicLab.Problems.NK {
-  public interface IInteractionInitializer : INamedItem {
+  public interface IInteractionInitializer : IItem {
     BoolMatrix InitializeInterations(int length, int nComponents, int nInteractions, IRandom random);
   }
Index: branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/IncreasingBlockSizeInteractionsInitializer.cs
===================================================================
--- branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/IncreasingBlockSizeInteractionsInitializer.cs	(revision 12569)
+++ branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/IncreasingBlockSizeInteractionsInitializer.cs	(revision 12582)
@@ -29,21 +29,15 @@
 
 namespace HeuristicLab.Problems.NK {
-
   [Item("IncreasingBlockSizeInteractionsInitializer", "Randomly assignes interactions across all bits but makes sure that different numbers of ineractions are applied to different bits.")]
   [StorableClass]
-  public class IncreasingBlockSizeInteractionsInitializer : ParameterizedNamedItem, IInteractionInitializer {
-
+  public sealed class IncreasingBlockSizeInteractionsInitializer : Item, IInteractionInitializer {
     [StorableConstructor]
-    protected IncreasingBlockSizeInteractionsInitializer(bool serializing) : base(serializing) { }
-    protected IncreasingBlockSizeInteractionsInitializer(IncreasingBlockSizeInteractionsInitializer original, Cloner cloner) : base(original, cloner) { }
-    public IncreasingBlockSizeInteractionsInitializer() {
-    }
-
-
+    private IncreasingBlockSizeInteractionsInitializer(bool serializing) : base(serializing) { }
+    private IncreasingBlockSizeInteractionsInitializer(IncreasingBlockSizeInteractionsInitializer original, Cloner cloner) : base(original, cloner) { }
+    public IncreasingBlockSizeInteractionsInitializer() { }
     public override IDeepCloneable Clone(Cloner cloner) {
       return new IncreasingBlockSizeInteractionsInitializer(this, cloner);
     }
 
-    #region IInteractionInitializer Members
     public BoolMatrix InitializeInterations(int length, int nComponents, int nInteractions, IRandom random) {
       Dictionary<int, int> bitInteractionCounts = new Dictionary<int, int>();
@@ -77,5 +71,4 @@
       return m;
     }
-    #endregion
   }
 }
Index: branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/LimitedRandomInteractionsInitializer.cs
===================================================================
--- branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/LimitedRandomInteractionsInitializer.cs	(revision 12569)
+++ branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/LimitedRandomInteractionsInitializer.cs	(revision 12582)
@@ -29,9 +29,7 @@
 
 namespace HeuristicLab.Problems.NK {
-
   [Item("LimitedRandomInteractionsInitializer", "Randomly assignes interactions across bits in the vicinity of each other respecting the maximum distances if possible.")]
   [StorableClass]
-  public class LimitedRandomInteractionsInitializer : ParameterizedNamedItem, IInteractionInitializer {
-
+  public sealed class LimitedRandomInteractionsInitializer : ParameterizedNamedItem, IInteractionInitializer {
     private class Bounds {
       public readonly int Min;
@@ -53,4 +51,16 @@
     }
 
+    [StorableConstructor]
+    private LimitedRandomInteractionsInitializer(bool serializing) : base(serializing) { }
+    private LimitedRandomInteractionsInitializer(LimitedRandomInteractionsInitializer original, Cloner cloner) : base(original, cloner) { }
+    public LimitedRandomInteractionsInitializer() {
+      Parameters.Add(new ValueParameter<IntValue>("MaximumDistance", "Maximum distance of interactions in bits or 0 for unlimited"));
+      Parameters.Add(new ValueParameter<DoubleValue>("MaximumDistanceRatio", "Maximum distance of interactions as ratio of the total length or 0 for unlimited"));
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new LimitedRandomInteractionsInitializer(this, cloner);
+    }
+
     private int MaximumDistance(int length, int nInteractions) {
       int maxBitDist = MaximumDistanceParameter.Value.Value;
@@ -64,17 +74,4 @@
     }
 
-    [StorableConstructor]
-    protected LimitedRandomInteractionsInitializer(bool serializing) : base(serializing) { }
-    protected LimitedRandomInteractionsInitializer(LimitedRandomInteractionsInitializer original, Cloner cloner) : base(original, cloner) { }
-    public LimitedRandomInteractionsInitializer() {
-      Parameters.Add(new ValueParameter<IntValue>("MaximumDistance", "Maximum distance of interactions in bits or 0 for unlimited"));
-      Parameters.Add(new ValueParameter<DoubleValue>("MaximumDistanceRatio", "Maximum distance of interactions as ratio of the total length or 0 for unlimited"));
-    }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new LimitedRandomInteractionsInitializer(this, cloner);
-    }
-
-    #region IInteractionInitializer Members
     public BoolMatrix InitializeInterations(int length, int nComponents, int nInteractions, IRandom random) {
       BoolMatrix m = new BoolMatrix(length, nComponents);
@@ -97,5 +94,4 @@
       return m;
     }
-    #endregion
   }
 }
Index: branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/RandomInteractionsInitializer.cs
===================================================================
--- branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/RandomInteractionsInitializer.cs	(revision 12569)
+++ branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/RandomInteractionsInitializer.cs	(revision 12582)
@@ -27,25 +27,15 @@
 
 namespace HeuristicLab.Problems.NK {
-
   [Item("RandomInteractionsInitializer", "Randomly assignes interactions across all bits")]
   [StorableClass]
-  public class RandomInteractionsInitializer : NamedItem, IInteractionInitializer {
-
-    public override bool CanChangeName { get { return false; } }
-    public override bool CanChangeDescription { get { return false; } }
-
-
+  public sealed class RandomInteractionsInitializer : Item, IInteractionInitializer {
     [StorableConstructor]
-    protected RandomInteractionsInitializer(bool serializing) : base(serializing) { }
-    protected RandomInteractionsInitializer(RandomInteractionsInitializer original, Cloner cloner) : base(original, cloner) { }
-    public RandomInteractionsInitializer() {
-      name = ItemName;
-      description = ItemDescription;
-    }
+    private RandomInteractionsInitializer(bool serializing) : base(serializing) { }
+    private RandomInteractionsInitializer(RandomInteractionsInitializer original, Cloner cloner) : base(original, cloner) { }
+    public RandomInteractionsInitializer() { }
     public override IDeepCloneable Clone(Cloner cloner) {
       return new RandomInteractionsInitializer(this, cloner);
     }
 
-    #region IInteractionInitializer Members
     public BoolMatrix InitializeInterations(int length, int nComponents, int nInteractions, IRandom random) {
       BoolMatrix m = new BoolMatrix(length, nComponents);
@@ -65,5 +55,4 @@
       return m;
     }
-    #endregion
   }
 }
Index: branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/SortedRandomInteractionsInitializer.cs
===================================================================
--- branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/SortedRandomInteractionsInitializer.cs	(revision 12569)
+++ branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/SortedRandomInteractionsInitializer.cs	(revision 12582)
@@ -30,8 +30,7 @@
 
 namespace HeuristicLab.Problems.NK {
-
   [Item("SortedRandomInteractionsInitializer", "Randomly assigns interactions across all bits and sorts components according to bit affinity.")]
   [StorableClass]
-  public class SortedRandomInteractionsInitializer : ParameterizedNamedItem, IInteractionInitializer {
+  public sealed class SortedRandomInteractionsInitializer : ParameterizedNamedItem, IInteractionInitializer {
     public IConstrainedValueParameter<IBinaryVectorComparer> ComparerParameter {
       get { return (IConstrainedValueParameter<IBinaryVectorComparer>)Parameters["Comparer"]; }
@@ -42,6 +41,6 @@
 
     [StorableConstructor]
-    protected SortedRandomInteractionsInitializer(bool serializing) : base(serializing) { }
-    protected SortedRandomInteractionsInitializer(SortedRandomInteractionsInitializer original, Cloner cloner) : base(original, cloner) { }
+    private SortedRandomInteractionsInitializer(bool serializing) : base(serializing) { }
+    private SortedRandomInteractionsInitializer(SortedRandomInteractionsInitializer original, Cloner cloner) : base(original, cloner) { }
     public SortedRandomInteractionsInitializer() {
       Parameters.Add(new ConstrainedValueParameter<IBinaryVectorComparer>("Comparer", "Comparison for sorting of component functions."));
@@ -59,5 +58,4 @@
     }
 
-    #region IInteractionInitializer Members
     public BoolMatrix InitializeInterations(int length, int nComponents, int nInteractions, IRandom random) {
       BinaryVector[] components = Enumerable.Range(0, nComponents).Select(i => new BinaryVector(length)).ToArray();
@@ -83,5 +81,4 @@
       return m;
     }
-    #endregion
   }
 }
