Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/CrowdingAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/CrowdingAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/CrowdingAnalyzer.cs	(revision 16462)
@@ -26,8 +26,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("F06FB45C-051E-4AD8-BD82-16DA9DCBCACB")]
   [Item("CrowdingAnalyzer", "The mean crowding distance for each point of the Front (see Multi-Objective Performance Metrics - Shodhganga for more information)")]
   public class CrowdingAnalyzer : MOTFAnalyzer {
@@ -42,5 +42,5 @@
 
     [StorableConstructor]
-    protected CrowdingAnalyzer(bool deserializing) : base(deserializing) { }
+    protected CrowdingAnalyzer(StorableConstructorFlag _) : base(_) { }
     public CrowdingAnalyzer(CrowdingAnalyzer original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/GenerationalDistanceAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/GenerationalDistanceAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/GenerationalDistanceAnalyzer.cs	(revision 16462)
@@ -20,5 +20,4 @@
 #endregion
 
-using System;
 using System.Linq;
 using HeuristicLab.Common;
@@ -27,8 +26,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("EBC72F16-E329-4D18-800C-8642EFD0F05C")]
   [Item("GenerationalDistanceAnalyzer", "The generational distance between the current and the best known front (see Multi-Objective Performance Metrics - Shodhganga for more information)")]
   public class GenerationalDistanceAnalyzer : MOTFAnalyzer {
@@ -49,5 +48,5 @@
 
     [StorableConstructor]
-    protected GenerationalDistanceAnalyzer(bool deserializing) : base(deserializing) { }
+    protected GenerationalDistanceAnalyzer(StorableConstructorFlag _) : base(_) { }
     protected GenerationalDistanceAnalyzer(GenerationalDistanceAnalyzer original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/HypervolumeAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/HypervolumeAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/HypervolumeAnalyzer.cs	(revision 16462)
@@ -28,8 +28,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("13D363E4-76FF-4A5A-9B2C-767D9E880E4B")]
   [Item("HypervolumeAnalyzer", "Computes the enclosed Hypervolume between the current front and a given reference Point")]
   public class HypervolumeAnalyzer : MOTFAnalyzer {
@@ -50,6 +50,5 @@
 
     [StorableConstructor]
-    protected HypervolumeAnalyzer(bool deserializing)
-      : base(deserializing) {
+    protected HypervolumeAnalyzer(StorableConstructorFlag _) : base(_) {
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/InvertedGenerationalDistanceAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/InvertedGenerationalDistanceAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/InvertedGenerationalDistanceAnalyzer.cs	(revision 16462)
@@ -26,8 +26,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("EC99F3C1-D8D2-4738-9523-0D07438647A5")]
   [Item("InvertedGenerationalDistanceAnalyzer", "The inverted generational distance between the current and the best known front (see Multi-Objective Performance Metrics - Shodhganga for more information)")]
   public class InvertedGenerationalDistanceAnalyzer : MOTFAnalyzer {
@@ -56,5 +56,5 @@
 
     [StorableConstructor]
-    protected InvertedGenerationalDistanceAnalyzer(bool deserializing) : base(deserializing) { }
+    protected InvertedGenerationalDistanceAnalyzer(StorableConstructorFlag _) : base(_) { }
     protected InvertedGenerationalDistanceAnalyzer(InvertedGenerationalDistanceAnalyzer original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/MOTFAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/MOTFAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/MOTFAnalyzer.cs	(revision 16462)
@@ -26,10 +26,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
 
-  [StorableClass]
+  [StorableType("CFBB2CAB-C1B7-4F14-9A01-6D5624B7B681")]
   public abstract class MOTFAnalyzer : SingleSuccessorOperator, IMultiObjectiveTestFunctionAnalyzer {
     public virtual bool EnabledByDefault { get { return true; } }
@@ -54,5 +54,5 @@
 
     [StorableConstructor]
-    protected MOTFAnalyzer(bool deserializing) : base(deserializing) { }
+    protected MOTFAnalyzer(StorableConstructorFlag _) : base(_) { }
     protected MOTFAnalyzer() {
       Parameters.Add(new ScopeTreeLookupParameter<DoubleArray>("Qualities", "The qualities of the parameter vector."));
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/ScatterPlotAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/ScatterPlotAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/ScatterPlotAnalyzer.cs	(revision 16462)
@@ -26,8 +26,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("720E2726-7F31-4425-B478-327D24BA2FF3")]
   [Item("ScatterPlotAnalyzer", "Creates a Scatterplot for the current and the best known front (see Multi-Objective Performance Metrics - Shodhganga for more information)")]
   public class ScatterPlotAnalyzer : MOTFAnalyzer {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected ScatterPlotAnalyzer(bool deserializing) : base(deserializing) { }
+    protected ScatterPlotAnalyzer(StorableConstructorFlag _) : base(_) { }
     protected ScatterPlotAnalyzer(ScatterPlotAnalyzer original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/SpacingAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/SpacingAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/SpacingAnalyzer.cs	(revision 16462)
@@ -25,8 +25,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("F32027A7-3116-4864-A404-820F866BFD65")]
   [Item("SpacingAnalyzer", "The spacing of the current front (see Multi-Objective Performance Metrics - Shodhganga for more information)")]
   public class SpacingAnalyzer : MOTFAnalyzer {
@@ -36,5 +36,5 @@
     }
     [StorableConstructor]
-    protected SpacingAnalyzer(bool deserializing) : base(deserializing) { }
+    protected SpacingAnalyzer(StorableConstructorFlag _) : base(_) { }
 
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/HeuristicLab.Problems.TestFunctions.MultiObjective-3.3.csproj
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/HeuristicLab.Problems.TestFunctions.MultiObjective-3.3.csproj	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/HeuristicLab.Problems.TestFunctions.MultiObjective-3.3.csproj	(revision 16462)
@@ -87,5 +87,5 @@
       <HintPath>..\..\packages\Google.Protobuf.3.6.1\lib\net45\Google.Protobuf.dll</HintPath>
     </Reference>
-    <Reference Include="HEAL.Fossil, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+    <Reference Include="HEAL.Fossil, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <HintPath>..\..\packages\HEAL.Fossil.1.0.0\lib\netstandard2.0\HEAL.Fossil.dll</HintPath>
     </Reference>
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/MultiObjectiveTestFunctionProblem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/MultiObjectiveTestFunctionProblem.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/MultiObjectiveTestFunctionProblem.cs	(revision 16462)
@@ -28,9 +28,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("AB0C6A73-C432-46FD-AE3B-9841EAB2478C")]
   [Creatable(CreatableAttribute.Categories.Problems, Priority = 95)]
   [Item("Test Function (multi-objective)", "Test functions with real valued inputs and multiple objectives.")]
@@ -97,5 +97,5 @@
 
     [StorableConstructor]
-    protected MultiObjectiveTestFunctionProblem(bool deserializing) : base(deserializing) { }
+    protected MultiObjectiveTestFunctionProblem(StorableConstructorFlag _) : base(_) { }
     [StorableHook(HookType.AfterDeserialization)]
     private void AfterDeserialization() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/ParetoFrontScatterPlot.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/ParetoFrontScatterPlot.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/ParetoFrontScatterPlot.cs	(revision 16462)
@@ -24,8 +24,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("3BF7AD0E-8D55-4033-974A-01DB16F9E41A")]
   [Item("Pareto Front Scatter Plot", "The optimal front, current front and its associated Points in the searchspace")]
   public class ParetoFrontScatterPlot : Item {
@@ -87,6 +87,5 @@
 
     [StorableConstructor]
-    protected ParetoFrontScatterPlot(bool deserializing)
-      : base(deserializing) { }
+    protected ParetoFrontScatterPlot(StorableConstructorFlag _) : base(_) { }
     #endregion
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ.cs	(revision 16462)
@@ -23,8 +23,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("3ED6C22E-EA6E-4336-BC49-884CE151E514")]
   public abstract class DTLZ : MultiObjectiveTestFunction {
     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
@@ -50,5 +50,5 @@
 
     [StorableConstructor]
-    protected DTLZ(bool deserializing) : base(deserializing) { }
+    protected DTLZ(StorableConstructorFlag _) : base(_) { }
     protected DTLZ(DTLZ original, Cloner cloner) : base(original, cloner) { }
     public DTLZ() : base(minimumObjectives: 2, maximumObjectives: int.MaxValue, minimumSolutionLength: 2, maximumSolutionLength: int.MaxValue) { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ1.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ1.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ1.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("DTLZ1", "Testfunction as defined as DTLZ1 in http://repository.ias.ac.in/81671/ [30.11.15]")]
-  [StorableClass]
+  [StorableType("1DBE5FE4-049B-4BAD-AE2B-4951D0D3D616")]
   public class DTLZ1 : DTLZ {
     protected override double GetBestKnownHypervolume(int objectives) {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected DTLZ1(bool deserializing) : base(deserializing) { }
+    protected DTLZ1(StorableConstructorFlag _) : base(_) { }
     protected DTLZ1(DTLZ1 original, Cloner cloner) : base(original, cloner) { }
     public DTLZ1() : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ2.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ2.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ2.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("DTLZ2", "Testfunction as defined as DTLZ2 in http://repository.ias.ac.in/81671/ [30.11.15]")]
-  [StorableClass]
+  [StorableType("C5BB2CA1-DB97-4D2E-BDB2-C9F2572D45DF")]
   public class DTLZ2 : DTLZ {
     protected override double GetBestKnownHypervolume(int objectives) {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected DTLZ2(bool deserializing) : base(deserializing) { }
+    protected DTLZ2(StorableConstructorFlag _) : base(_) { }
     protected DTLZ2(DTLZ2 original, Cloner cloner) : base(original, cloner) { }
     public DTLZ2() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ3.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ3.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ3.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("DTLZ3", "Testfunction as defined as DTLZ3 in http://repository.ias.ac.in/81671/ [30.11.15]")]
-  [StorableClass]
+  [StorableType("0B225A81-61B0-4716-8373-33CE07A58920")]
   public class DTLZ3 : DTLZ {
     protected override double GetBestKnownHypervolume(int objectives) {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected DTLZ3(bool deserializing) : base(deserializing) { }
+    protected DTLZ3(StorableConstructorFlag _) : base(_) { }
     protected DTLZ3(DTLZ3 original, Cloner cloner) : base(original, cloner) { }
     public DTLZ3() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ4.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ4.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ4.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("DTLZ4", "Testfunction as defined as DTLZ4 in http://repository.ias.ac.in/81671/ [30.11.15]")]
-  [StorableClass]
+  [StorableType("2222AE43-E24A-4D30-93F3-496A1FE79B29")]
   public class DTLZ4 : DTLZ {
     protected override double GetBestKnownHypervolume(int objectives) {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected DTLZ4(bool deserializing) : base(deserializing) { }
+    protected DTLZ4(StorableConstructorFlag _) : base(_) { }
     protected DTLZ4(DTLZ4 original, Cloner cloner) : base(original, cloner) { }
     public DTLZ4() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ5.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ5.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ5.cs	(revision 16462)
@@ -23,13 +23,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("DTLZ5", "Testfunction as defined as DTLZ5 in http://repository.ias.ac.in/81671/ [30.11.15]")]
-  [StorableClass]
+  [StorableType("CEFD068E-521B-459F-80F1-B2AE4D114D41")]
   public class DTLZ5 : DTLZ {
 
     [StorableConstructor]
-    protected DTLZ5(bool deserializing) : base(deserializing) { }
+    protected DTLZ5(StorableConstructorFlag _) : base(_) { }
     protected DTLZ5(DTLZ5 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ6.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ6.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ6.cs	(revision 16462)
@@ -23,13 +23,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("DTLZ6", "Testfunction as defined as DTLZ5 in http://repository.ias.ac.in/81671/ [30.11.15]")]
-  [StorableClass]
+  [StorableType("5C92E344-A85F-4FAE-B7C3-2D188D60B049")]
   public class DTLZ6 : DTLZ {
 
     [StorableConstructor]
-    protected DTLZ6(bool deserializing) : base(deserializing) { }
+    protected DTLZ6(StorableConstructorFlag _) : base(_) { }
     protected DTLZ6(DTLZ6 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ7.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ7.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ7.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("DTLZ7", "Testfunction as defined as DTLZ6 in http://repository.ias.ac.in/81671/ [30.11.15] NOTE: The website http://people.ee.ethz.ch/~sop/download/supplementary/testproblems/dtlz7/index.php [16.12.2015] lables this function as DTLZ7")]
-  [StorableClass]
+  [StorableType("D98AAC02-652E-4ED4-9365-5589E970CFBD")]
   public class DTLZ7 : DTLZ {
     protected override double GetBestKnownHypervolume(int objectives) {
@@ -36,5 +36,5 @@
 
     [StorableConstructor]
-    protected DTLZ7(bool deserializing) : base(deserializing) { }
+    protected DTLZ7(StorableConstructorFlag _) : base(_) { }
     protected DTLZ7(DTLZ7 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ8.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ8.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/DTLZ/DTLZ8.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("DTLZ8", "Testfunction as defined as DTLZ7 in http://repository.ias.ac.in/81671/ [30.11.15]. There has been a renumbering therefore the numbers do not match")]
-  [StorableClass]
+  [StorableType("067D6CD2-0416-4FB3-AA21-B561776762A4")]
   public class DTLZ8 : DTLZ, IConstrainedTestFunction {
     public static double[] IllegalValue(int size, bool[] maximization) {
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected DTLZ8(bool deserializing) : base(deserializing) { }
+    protected DTLZ8(StorableConstructorFlag _) : base(_) { }
     protected DTLZ8(DTLZ8 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR.cs	(revision 16462)
@@ -22,8 +22,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("3DBC1750-FDEA-454C-AF65-EA4337CEE823")]
   public abstract class IHR : MultiObjectiveTestFunction {
     protected override double[,] GetBounds(int objectives) {
@@ -44,5 +44,5 @@
 
     [StorableConstructor]
-    protected IHR(bool deserializing) : base(deserializing) { }
+    protected IHR(StorableConstructorFlag _) : base(_) { }
     protected IHR(IHR original, Cloner cloner) : base(original, cloner) { }
     public IHR() : base(minimumObjectives: 2, maximumObjectives: 2, minimumSolutionLength: 2, maximumSolutionLength: int.MaxValue) { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR1.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR1.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR1.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("IHR1", "Testfunction as defined as IHR1 in \"Igel, C., Hansen, N., & Roth, S. (2007). Covariance matrix adaptation for multi-objective optimization. Evolutionary computation, 15(1), 1-28.\" [24.06.16]")]
-  [StorableClass]
+  [StorableType("16DF9415-9D12-4FB9-A985-7EEAE05A24CA")]
   public class IHR1 : IHR {
     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    protected IHR1(bool deserializing) : base(deserializing) { }
+    protected IHR1(StorableConstructorFlag _) : base(_) { }
     protected IHR1(IHR1 original, Cloner cloner) : base(original, cloner) { }
     public IHR1() : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR2.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR2.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR2.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("IHR2", "Testfunction as defined as IHR2 in \"Igel, C., Hansen, N., & Roth, S. (2007). Covariance matrix adaptation for multi-objective optimization. Evolutionary computation, 15(1), 1-28.\" [24.06.16]")]
-  [StorableClass]
+  [StorableType("3E06E73F-61CD-4B99-99A8-84E6E9C0EFC9")]
   public class IHR2 : IHR {
     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
@@ -46,5 +46,5 @@
 
     [StorableConstructor]
-    protected IHR2(bool deserializing) : base(deserializing) { }
+    protected IHR2(StorableConstructorFlag _) : base(_) { }
     protected IHR2(IHR2 original, Cloner cloner) : base(original, cloner) { }
     public IHR2() : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR3.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR3.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR3.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("IHR3", "Testfunction as defined as IHR3 in \"Igel, C., Hansen, N., & Roth, S. (2007). Covariance matrix adaptation for multi-objective optimization. Evolutionary computation, 15(1), 1-28.\" [24.06.16]")]
-  [StorableClass]
+  [StorableType("316D5351-762D-4883-ACEF-06F4EAFA73AE")]
   public class IHR3 : IHR {
     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
@@ -46,5 +46,5 @@
 
     [StorableConstructor]
-    protected IHR3(bool deserializing) : base(deserializing) { }
+    protected IHR3(StorableConstructorFlag _) : base(_) { }
     protected IHR3(IHR3 original, Cloner cloner) : base(original, cloner) { }
     public IHR3() : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR4.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR4.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR4.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("IHR4", "Testfunction as defined as IHR4 in \"Igel, C., Hansen, N., & Roth, S. (2007). Covariance matrix adaptation for multi-objective optimization. Evolutionary computation, 15(1), 1-28.\" [24.06.16]")]
-  [StorableClass]
+  [StorableType("E83A9E6E-F7B3-4B27-B5CA-A323D89844F5")]
   public class IHR4 : IHR {
     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
@@ -49,5 +49,5 @@
 
     [StorableConstructor]
-    protected IHR4(bool deserializing) : base(deserializing) { }
+    protected IHR4(StorableConstructorFlag _) : base(_) { }
     protected IHR4(IHR4 original, Cloner cloner) : base(original, cloner) { }
     public IHR4() : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR6.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR6.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR6.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("IHR6", "Testfunction as defined as IHR6 in \"Igel, C., Hansen, N., & Roth, S. (2007). Covariance matrix adaptation for multi-objective optimization. Evolutionary computation, 15(1), 1-28.\" [24.06.16]")]
-  [StorableClass]
+  [StorableType("5C0A4163-831B-4507-997F-A70B59E3A445")]
   public class IHR6 : IHR {
     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    protected IHR6(bool deserializing) : base(deserializing) { }
+    protected IHR6(StorableConstructorFlag _) : base(_) { }
     protected IHR6(IHR6 original, Cloner cloner) : base(original, cloner) { }
     public IHR6() : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/CIGTAB.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/CIGTAB.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/CIGTAB.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("CIGTAB", "to be aded")]
-  [StorableClass]
+  [StorableType("1D78E29D-4697-44A1-8A53-3909E3B7D57D")]
   public class CIGTAB : MultiObjectiveTestFunction {
     protected override double[,] GetBounds(int objectives) {
@@ -58,5 +58,5 @@
 
     [StorableConstructor]
-    protected CIGTAB(bool deserializing) : base(deserializing) { }
+    protected CIGTAB(StorableConstructorFlag _) : base(_) { }
     protected CIGTAB(CIGTAB original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/ELLI1.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/ELLI1.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/ELLI1.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("ELLI", "to be aded")]
-  [StorableClass]
+  [StorableType("C4F3378F-169B-412C-8882-D733EF5388D9")]
   public class ELLI : MultiObjectiveTestFunction {
     protected override double[,] GetBounds(int objectives) {
@@ -58,5 +58,5 @@
 
     [StorableConstructor]
-    protected ELLI(bool deserializing) : base(deserializing) { }
+    protected ELLI(StorableConstructorFlag _) : base(_) { }
     protected ELLI(ELLI original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/Fonseca.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/Fonseca.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/Fonseca.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("Fonseca", "Fonseca and Flemming function from // https://en.wikipedia.org/wiki/Test_functions_for_optimization [30.11.2015]")]
-  [StorableClass]
+  [StorableType("CBB43DEB-9DD2-4365-A3CF-18F89F2A47B0")]
   public class Fonseca : MultiObjectiveTestFunction {
     protected override double[,] GetBounds(int objectives) {
@@ -52,5 +52,5 @@
 
     [StorableConstructor]
-    protected Fonseca(bool deserializing) : base(deserializing) { }
+    protected Fonseca(StorableConstructorFlag _) : base(_) { }
     protected Fonseca(Fonseca original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/Kursawe.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/Kursawe.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/Kursawe.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("Kursawe", "Kursawe function from // http://darwin.di.uminho.pt/jecoli/index.php/Multiobjective_example [30.11.2015]")]
-  [StorableClass]
+  [StorableType("9D38092B-2C55-450E-A27A-2C28714745ED")]
   public class Kursawe : MultiObjectiveTestFunction {
     protected override double[,] GetBounds(int objectives) {
@@ -51,5 +51,5 @@
 
     [StorableConstructor]
-    protected Kursawe(bool deserializing) : base(deserializing) { }
+    protected Kursawe(StorableConstructorFlag _) : base(_) { }
     protected Kursawe(Kursawe original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/SchafferN1.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/SchafferN1.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/SchafferN1.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("SchafferN1", "Schaffer function N.1 for mulitobjective optimization from // https://en.wikipedia.org/wiki/Test_functions_for_optimization [30.11.2015]")]
-  [StorableClass]
+  [StorableType("A676EB9C-ECA8-40D7-BA16-ADDDDD482092")]
   public class SchafferN1 : MultiObjectiveTestFunction {
     protected override double[,] GetBounds(int objectives) {
@@ -52,5 +52,5 @@
 
     [StorableConstructor]
-    protected SchafferN1(bool deserializing) : base(deserializing) { }
+    protected SchafferN1(StorableConstructorFlag _) : base(_) { }
     protected SchafferN1(SchafferN1 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/SchafferN2.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/SchafferN2.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/SchafferN2.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("SchafferN2", "Schaffer function N.2 for mulitobjective optimization from // https://en.wikipedia.org/wiki/Test_functions_for_optimization [30.11.2015]")]
-  [StorableClass]
+  [StorableType("CCF2BA5F-BBE5-4280-ABC7-10C02EF947CB")]
   public class SchafferN2 : MultiObjectiveTestFunction {
     protected override double[,] GetBounds(int objectives) {
@@ -48,5 +48,5 @@
 
     [StorableConstructor]
-    protected SchafferN2(bool deserializing) : base(deserializing) { }
+    protected SchafferN2(StorableConstructorFlag _) : base(_) { }
     protected SchafferN2(SchafferN2 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/MultiObjectiveTestFunction.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/MultiObjectiveTestFunction.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/MultiObjectiveTestFunction.cs	(revision 16462)
@@ -27,5 +27,5 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
@@ -34,5 +34,5 @@
   /// </summary>
   [Item("Multi-Objective Function", "Base class for multi objective functions.")]
-  [StorableClass]
+  [StorableType("6E9E9993-5B26-4D97-A58C-B4FD28308544")]
   public abstract class MultiObjectiveTestFunction : ParameterizedNamedItem, IMultiObjectiveTestFunction {
     /// <summary>
@@ -120,5 +120,5 @@
 
     [StorableConstructor]
-    protected MultiObjectiveTestFunction(bool deserializing) : base(deserializing) { }
+    protected MultiObjectiveTestFunction(StorableConstructorFlag _) : base(_) { }
 
     protected MultiObjectiveTestFunction(MultiObjectiveTestFunction original, Cloner cloner)
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT.cs	(revision 16462)
@@ -23,8 +23,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
+  [StorableType("A8192C08-A1DA-479A-9381-9B634761B521")]
   public abstract class ZDT : MultiObjectiveTestFunction {
     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
@@ -49,5 +49,5 @@
 
     [StorableConstructor]
-    protected ZDT(bool deserializing) : base(deserializing) { }
+    protected ZDT(StorableConstructorFlag _) : base(_) { }
     protected ZDT(MultiObjectiveTestFunction original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT1.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT1.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT1.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("ZDT1", "ZDT1 function as defined in http://www.tik.ee.ethz.ch/sop/download/supplementary/testproblems/ [30.11.2015]")]
-  [StorableClass]
+  [StorableType("5F62D1CB-4EC5-4C89-B168-25DF1F549CCA")]
   public class ZDT1 : ZDT {
     protected override double GetBestKnownHypervolume(int objectives) {
@@ -34,5 +34,5 @@
 
     [StorableConstructor]
-    protected ZDT1(bool deserializing) : base(deserializing) { }
+    protected ZDT1(StorableConstructorFlag _) : base(_) { }
     protected ZDT1(ZDT1 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT2.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT2.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT2.cs	(revision 16462)
@@ -22,9 +22,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("ZDT2", "ZDT2 function as defined in http://www.tik.ee.ethz.ch/sop/download/supplementary/testproblems/ [30.11.2015]")]
-  [StorableClass]
+  [StorableType("82C93549-F1D6-4034-96B1-A3AC1E213127")]
   public class ZDT2 : ZDT {
     protected override double GetBestKnownHypervolume(int objectives) {
@@ -33,5 +33,5 @@
 
     [StorableConstructor]
-    protected ZDT2(bool deserializing) : base(deserializing) { }
+    protected ZDT2(StorableConstructorFlag _) : base(_) { }
     protected ZDT2(ZDT2 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT3.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT3.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT3.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("ZDT3", "ZDT3 function as defined in http://www.tik.ee.ethz.ch/sop/download/supplementary/testproblems/ [30.11.2015]")]
-  [StorableClass]
+  [StorableType("89C250F4-DC30-4852-AE6E-E3936569A2BA")]
   public class ZDT3 : ZDT {
     protected override double GetBestKnownHypervolume(int objectives) {
@@ -34,5 +34,5 @@
 
     [StorableConstructor]
-    protected ZDT3(bool deserializing) : base(deserializing) { }
+    protected ZDT3(StorableConstructorFlag _) : base(_) { }
     protected ZDT3(ZDT3 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT4.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT4.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT4.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("ZDT4", "ZDT4 function as defined in http://www.tik.ee.ethz.ch/sop/download/supplementary/testproblems/ [30.11.2015]")]
-  [StorableClass]
+  [StorableType("489FC6F2-A461-4A0A-A5D2-145598A43283")]
   public class ZDT4 : ZDT {
     protected override double[,] GetBounds(int objectives) {
@@ -44,5 +44,5 @@
 
     [StorableConstructor]
-    protected ZDT4(bool deserializing) : base(deserializing) { }
+    protected ZDT4(StorableConstructorFlag _) : base(_) { }
     protected ZDT4(ZDT4 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT6.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT6.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT6.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
   [Item("ZDT6", "ZDT6 function as defined in http://www.tik.ee.ethz.ch/sop/download/supplementary/testproblems/ [30.11.2015]")]
-  [StorableClass]
+  [StorableType("7F442B29-9A07-487E-BAAB-CBE2D683E421")]
   public class ZDT6 : ZDT {
     protected override double GetBestKnownHypervolume(int objectives) {
@@ -34,5 +34,5 @@
 
     [StorableConstructor]
-    protected ZDT6(bool deserializing) : base(deserializing) { }
+    protected ZDT6(StorableConstructorFlag _) : base(_) { }
     protected ZDT6(ZDT6 original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
