Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/HeuristicLab.Problems.DataAnalysis.Trading-3.4.csproj
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/HeuristicLab.Problems.DataAnalysis.Trading-3.4.csproj	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/HeuristicLab.Problems.DataAnalysis.Trading-3.4.csproj	(revision 16462)
@@ -102,5 +102,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.DataAnalysis.Trading/3.4/ProblemData.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/ProblemData.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/ProblemData.cs	(revision 16462)
@@ -27,8 +27,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading {
-  [StorableClass]
+  [StorableType("0E535043-BE86-4AF8-8DA1-C82E459F67AB")]
   [Item("TradingProblemData", "Represents an item containing all data defining a trading problem.")]
   public sealed class ProblemData : DataAnalysisProblemData, IProblemData {
@@ -1611,5 +1611,5 @@
 
     [StorableConstructor]
-    private ProblemData(bool deserializing) : base(deserializing) { }
+    private ProblemData(StorableConstructorFlag _) : base(_) { }
     [StorableHook(HookType.AfterDeserialization)]
     private void AfterDeserialization() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Solution.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Solution.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Solution.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading {
@@ -31,5 +31,5 @@
   /// Abstract base class for trading data analysis solutions
   /// </summary>
-  [StorableClass]
+  [StorableType("1AF0637D-7F29-4A57-8CC8-3AAFA402473F")]
   public abstract class Solution : DataAnalysisSolution, ISolution {
     private const string TrainingSharpeRatioResultName = "Sharpe ratio (training)";
@@ -68,5 +68,5 @@
 
     [StorableConstructor]
-    protected Solution(bool deserializing) : base(deserializing) { }
+    protected Solution(StorableConstructorFlag _) : base(_) { }
     protected Solution(Solution original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Model.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Model.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Model.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 
@@ -33,10 +33,10 @@
   /// Represents a symbolic trading model
   /// </summary>
-  [StorableClass]
+  [StorableType("EDBE6BAD-B331-4301-AA8C-234196942DF4")]
   [Item(Name = "Model (symbolic trading)", Description = "Represents a symbolic trading model.")]
   public class Model : SymbolicDataAnalysisModel, IModel {
 
     [StorableConstructor]
-    protected Model(bool deserializing) : base(deserializing) { }
+    protected Model(StorableConstructorFlag _) : base(_) { }
     protected Model(Model original, Cloner cloner)
       : base(original, cloner) { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/Evaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/Evaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/Evaluator.cs	(revision 16462)
@@ -22,12 +22,12 @@
 
 using HeuristicLab.Common;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
-  [StorableClass]
+  [StorableType("0EEE96AC-9D20-4154-BDA8-0A34C4D5658A")]
   public abstract class SingleObjectiveEvaluator : SymbolicDataAnalysisSingleObjectiveEvaluator<IProblemData>, ISingleObjectiveEvaluator {
     [StorableConstructor]
-    protected SingleObjectiveEvaluator(bool deserializing) : base(deserializing) { }
+    protected SingleObjectiveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected SingleObjectiveEvaluator(SingleObjectiveEvaluator original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/Problem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/Problem.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/Problem.cs	(revision 16462)
@@ -22,10 +22,10 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
   [Item("Symbolic Trading Problem (single-objective)", "Represents a single-objective symbolic trading problem.")]
-  [StorableClass]
+  [StorableType("4E1FFD34-5720-4578-8D9E-AF657E157109")]
   [Creatable(CreatableAttribute.Categories.GeneticProgrammingProblems, Priority = 150)]
   public class SingleObjectiveProblem : SymbolicDataAnalysisSingleObjectiveProblem<IProblemData, ISingleObjectiveEvaluator, ISymbolicDataAnalysisSolutionCreator>, IProblem {
@@ -34,5 +34,5 @@
 
     [StorableConstructor]
-    protected SingleObjectiveProblem(bool deserializing) : base(deserializing) { }
+    protected SingleObjectiveProblem(StorableConstructorFlag _) : base(_) { }
     protected SingleObjectiveProblem(SingleObjectiveProblem original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) { return new SingleObjectiveProblem(this, cloner); }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/ProfitEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/ProfitEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/ProfitEvaluator.cs	(revision 16462)
@@ -25,13 +25,13 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
   [Item("Profit Evaluator", "")]
-  [StorableClass]
+  [StorableType("2BDA057D-5E6E-4F83-8DB0-DA12B16E9EF4")]
   public class ProfitEvaluator : SingleObjectiveEvaluator {
     [StorableConstructor]
-    protected ProfitEvaluator(bool deserializing) : base(deserializing) { }
+    protected ProfitEvaluator(StorableConstructorFlag _) : base(_) { }
     protected ProfitEvaluator(ProfitEvaluator original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/SharpeRatioEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/SharpeRatioEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/SharpeRatioEvaluator.cs	(revision 16462)
@@ -25,13 +25,13 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
   [Item("Sharpe Ratio Evaluator", "")]
-  [StorableClass]
+  [StorableType("5F0F5837-D659-4B77-BBCA-F4EFBAE554DB")]
   public class SharpeRatioEvaluator : SingleObjectiveEvaluator {
     [StorableConstructor]
-    protected SharpeRatioEvaluator(bool deserializing) : base(deserializing) { }
+    protected SharpeRatioEvaluator(StorableConstructorFlag _) : base(_) { }
     protected SharpeRatioEvaluator(SharpeRatioEvaluator original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/TrainingBestSolutionAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/TrainingBestSolutionAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/TrainingBestSolutionAnalyzer.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 
@@ -32,5 +32,5 @@
   /// </summary>
   [Item("Training-best Solution Analyzer (symbolic trading)", "An operator that analyzes the training best symbolic trading solution for single objective symbolic trading problems.")]
-  [StorableClass]
+  [StorableType("001D440F-F70F-4798-BEA9-53AAB8D33E94")]
   public sealed class TrainingBestSolutionAnalyzer : SymbolicDataAnalysisSingleObjectiveTrainingBestSolutionAnalyzer<ISolution>,
   ISymbolicDataAnalysisInterpreterOperator {
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private TrainingBestSolutionAnalyzer(bool deserializing) : base(deserializing) { }
+    private TrainingBestSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
     private TrainingBestSolutionAnalyzer(TrainingBestSolutionAnalyzer original, Cloner cloner) : base(original, cloner) { }
     public TrainingBestSolutionAnalyzer()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/ValidationBestSolutionAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/ValidationBestSolutionAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/ValidationBestSolutionAnalyzer.cs	(revision 16462)
@@ -23,5 +23,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 
@@ -31,9 +31,9 @@
   /// </summary>
   [Item("Validation-best Solution Analyzer (symbolic trading)", "An operator that analyzes the validation best symbolic trading solution for single objective symbolic trading problems.")]
-  [StorableClass]
+  [StorableType("BBDC9398-4D40-4170-B22F-77E36C68709F")]
   public sealed class ValidationBestSolutionAnalyzer : SymbolicDataAnalysisSingleObjectiveValidationBestSolutionAnalyzer<ISolution, ISingleObjectiveEvaluator, IProblemData> {
 
     [StorableConstructor]
-    private ValidationBestSolutionAnalyzer(bool deserializing) : base(deserializing) { }
+    private ValidationBestSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
     private ValidationBestSolutionAnalyzer(ValidationBestSolutionAnalyzer original, Cloner cloner) : base(original, cloner) { }
     public ValidationBestSolutionAnalyzer()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Solution.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Solution.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Solution.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 
@@ -31,5 +31,5 @@
   /// Represents a symbolic trading solution (model + data) and attributes of the solution like accuracy and complexity
   /// </summary>
-  [StorableClass]
+  [StorableType("A4B82FA6-562B-477D-998C-996724EA1366")]
   [Item(Name = "Solution (symbolic trading)",
     Description =
@@ -60,6 +60,5 @@
 
     [StorableConstructor]
-    private SymbolicSolution(bool deserializing)
-      : base(deserializing) {
+    private SymbolicSolution(StorableConstructorFlag _) : base(_) {
     }
 
