Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/BoolConverter.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/BoolConverter.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/BoolConverter.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,13 +25,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("BoolConverter", "Converts a ValueTypeValue<bool>, ValueTypeArray<bool>, or ValueTypeMatrix<bool> and adds it to the SolutionMessage's BoolVars or BoolArrayVars. A matrix is encoded as array by concatenating all rows and setting length as the length of a row.")]
-  [StorableClass]
+  [StorableType("8341D6D1-33C1-4CB7-AC4F-9A5447948022")]
   public class BoolConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(ValueTypeValue<bool>), typeof(ValueTypeArray<bool>), typeof(ValueTypeMatrix<bool>) };
     [StorableConstructor]
-    protected BoolConverter(bool deserializing) : base(deserializing) { }
+    protected BoolConverter(StorableConstructorFlag _) : base(_) { }
     protected BoolConverter(BoolConverter original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DateTimeValueConverter.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DateTimeValueConverter.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DateTimeValueConverter.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -24,13 +24,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("DateTimeValueConverter", "Converts a DateTimeValue and adds it to the SolutionMessage's StringVars. The format is yyyy-MM-dd HH:mm:sszzz, e.g. 2010-05-31 19:15:33+01:00.")]
-  [StorableClass]
+  [StorableType("99D4CC9B-B4F3-4A79-9EC9-6C5BB40C8C87")]
   public class DateTimeValueConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(DateTimeValue) };
     [StorableConstructor]
-    protected DateTimeValueConverter(bool deserializing) : base(deserializing) { }
+    protected DateTimeValueConverter(StorableConstructorFlag _) : base(_) { }
     protected DateTimeValueConverter(DateTimeValueConverter original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DoubleConverter.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DoubleConverter.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DoubleConverter.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,14 +25,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("DoubleConverter", "Converts a ValueTypeValue<double>, ValueTypeArray<double>, or ValueTypeMatrix<double> and adds it to the SolutionMessage's DoubleVars or DoubleArrayVars. A matrix is encoded as array by concatenating all rows and setting length as the length of a row.")]
-  [StorableClass]
+  [StorableType("30B9F1EE-5D41-4EE3-97F5-39500BBC5172")]
   public class DoubleConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(ValueTypeValue<double>), typeof(ValueTypeArray<double>), typeof(ValueTypeMatrix<double>) };
 
     [StorableConstructor]
-    protected DoubleConverter(bool deserializing) : base(deserializing) { }
+    protected DoubleConverter(StorableConstructorFlag _) : base(_) { }
     protected DoubleConverter(DoubleConverter original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/IntegerConverter.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/IntegerConverter.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/IntegerConverter.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,14 +25,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("IntegerConverter", "Converts a ValueTypeValue<int>, ValueTypeArray<int>, or ValueTypeMatrix<int> and adds it to the SolutionMessage's IntegerVars or IntegerArrayVars. A matrix is encoded as array by concatenating all rows and setting length as the length of a row.")]
-  [StorableClass]
+  [StorableType("540B4803-05EC-4AB8-AFAC-A8E35A98F4D7")]
   public class IntegerConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(ValueTypeValue<int>), typeof(ValueTypeArray<int>), typeof(ValueTypeMatrix<int>) };
 
     [StorableConstructor]
-    protected IntegerConverter(bool deserializing) : base(deserializing) { }
+    protected IntegerConverter(StorableConstructorFlag _) : base(_) { }
     protected IntegerConverter(IntegerConverter original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/StringConverter.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/StringConverter.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/StringConverter.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -24,14 +24,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("StringConverter", "Converts a StringValue, StringArray, StringMatrix, IStringConvertibleValue, IStringConvertibleArray, or IStringConvertibleMatrix and adds it to the SolutionMessage's StringVars or StringArrayVars. A matrix is encoded as array by concatenating all rows and setting length as the length of a row.")]
-  [StorableClass]
+  [StorableType("FD48F37D-DA07-442D-85B9-EC7D5D1A6740")]
   public class StringConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(StringValue), typeof(StringArray), typeof(StringMatrix), typeof(IStringConvertibleValue), typeof(IStringConvertibleArray), typeof(IStringConvertibleMatrix) };
 
     [StorableConstructor]
-    protected StringConverter(bool deserializing) : base(deserializing) { }
+    protected StringConverter(StorableConstructorFlag _) : base(_) { }
     protected StringConverter(StringConverter original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/TimeSpanValueConverter.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/TimeSpanValueConverter.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/TimeSpanValueConverter.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -24,14 +24,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("TimeSpanValueConverter", "Converts a TimeSpanValue and adds it to the SolutionMessage's StringVars. The format is d.hh:mm:ss, e.g. 1113.10:55:00 (1113 days 10 hours, 55 minutes, 0 seconds).")]
-  [StorableClass]
+  [StorableType("4617C8B5-89CF-42B5-82B5-C57E9B924C0F")]
   public class TimeSpanValueConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(TimeSpanValue) };
 
     [StorableConstructor]
-    protected TimeSpanValueConverter(bool deserializing) : base(deserializing) { }
+    protected TimeSpanValueConverter(StorableConstructorFlag _) : base(_) { }
     protected TimeSpanValueConverter(TimeSpanValueConverter original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationChannel.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationChannel.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationChannel.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,9 +23,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("EvaluationChannel", "Abstract base class for channels to be used in an external evaluation problem.")]
-  [StorableClass]
+  [StorableType("2BE4FE9D-D5FE-45C3-9F85-3BF7200F0913")]
   public abstract class EvaluationChannel : NamedItem, IEvaluationChannel {
     public override bool CanChangeName { get { return false; } }
@@ -33,5 +33,5 @@
 
     [StorableConstructor]
-    protected EvaluationChannel(bool deserializing) : base(deserializing) { }
+    protected EvaluationChannel(StorableConstructorFlag _) : base(_) { }
     protected EvaluationChannel(EvaluationChannel original, Cloner cloner) : base(original, cloner) { }
     protected EvaluationChannel()
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationProcessChannel.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationProcessChannel.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationProcessChannel.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,9 +26,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("EvaluationProcessChannel", "A channel that launches an external application in a new process and communicates with that process via stdin and stdout.")]
-  [StorableClass]
+  [StorableType("ECC07782-60E0-483C-8632-476697A058D2")]
   public class EvaluationProcessChannel : EvaluationChannel {
 
@@ -64,5 +64,5 @@
     #region Construction & Cloning
     [StorableConstructor]
-    protected EvaluationProcessChannel(bool deserializing) : base(deserializing) { }
+    protected EvaluationProcessChannel(StorableConstructorFlag _) : base(_) { }
     protected EvaluationProcessChannel(EvaluationProcessChannel original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -27,9 +27,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("EvaluationServiceClient", "An RPC client that evaluates a solution.")]
-  [StorableClass]
+  [StorableType("97F11C34-F32B-4AD2-92FB-F4A12311C962")]
   public class EvaluationServiceClient : ParameterizedNamedItem, IEvaluationServiceClient {
 
@@ -53,5 +53,5 @@
     #region Construction & Cloning
     [StorableConstructor]
-    protected EvaluationServiceClient(bool deserializing) : base(deserializing) { }
+    protected EvaluationServiceClient(StorableConstructorFlag _) : base(_) { }
     protected EvaluationServiceClient(EvaluationServiceClient original, Cloner cloner)
       : base(original, cloner) {
@@ -150,4 +150,6 @@
       OnNameChanged();
     }
+
+    [StorableType("9f1ab6e1-fe6e-4624-afbd-9bfdfdb75d44")]
     #endregion
 
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationStreamChannel.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationStreamChannel.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationStreamChannel.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,9 +25,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("EvaluationStreamChannel", "A channel that communicates via an input and an output stream.")]
-  [StorableClass]
+  [StorableType("15DD5556-3C31-4D18-BE18-D438B45591D8")]
   public class EvaluationStreamChannel : EvaluationChannel {
 
@@ -36,5 +36,5 @@
 
     [StorableConstructor]
-    protected EvaluationStreamChannel(bool deserializing) : base(deserializing) { }
+    protected EvaluationStreamChannel(StorableConstructorFlag _) : base(_) { }
     protected EvaluationStreamChannel(EvaluationStreamChannel original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationTCPChannel.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationTCPChannel.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationTCPChannel.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,9 +26,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("EvaluationTCPChannel", "A channel that creates a TCP connection over a network.")]
-  [StorableClass]
+  [StorableType("FECC0F5B-B22A-4117-888D-5B8B84332D24")]
   public class EvaluationTCPChannel : EvaluationChannel {
 
@@ -63,5 +63,5 @@
     #region Construction & Cloning
     [StorableConstructor]
-    protected EvaluationTCPChannel(bool deserializing) : base(deserializing) { }
+    protected EvaluationTCPChannel(StorableConstructorFlag _) : base(_) { }
     protected EvaluationTCPChannel(EvaluationTCPChannel original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -36,17 +36,15 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
 
   [Item("EvaluationCache", "Cache for external evaluation values")]
-  [StorableClass]
+  [StorableType("FDB10541-FA1C-4CF9-8175-83A55700C052")]
   public class EvaluationCache : ParameterizedNamedItem {
 
     #region Types
     private sealed class CacheEntry {
-
       public readonly string Key;
-
       private QualityMessage message;
       private byte[] rawMessage;
@@ -199,5 +197,5 @@
     #region Construction & Cloning
     [StorableConstructor]
-    protected EvaluationCache(bool deserializing) : base(deserializing) { }
+    protected EvaluationCache(StorableConstructorFlag _) : base(_) { }
     protected EvaluationCache(EvaluationCache original, Cloner cloner)
         : base(original, cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/ExternalEvaluationProblem.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/ExternalEvaluationProblem.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/ExternalEvaluationProblem.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -32,10 +32,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("External Evaluation Problem (single-objective)", "A problem that is evaluated in a different process.")]
   [Creatable(CreatableAttribute.Categories.ExternalEvaluationProblems, Priority = 100)]
-  [StorableClass]
+  [StorableType("115EB3A5-A8A8-4A2E-9799-9485FE896DEC")]
   // BackwardsCompatibility3.3
   // Rename class to SingleObjectiveExternalEvaluationProblem
@@ -88,5 +88,5 @@
 
     [StorableConstructor]
-    protected ExternalEvaluationProblem(bool deserializing) : base(deserializing) { }
+    protected ExternalEvaluationProblem(StorableConstructorFlag _) : base(_) { }
     protected ExternalEvaluationProblem(ExternalEvaluationProblem original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/HeuristicLab.Problems.ExternalEvaluation-3.4.csproj
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/HeuristicLab.Problems.ExternalEvaluation-3.4.csproj	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/HeuristicLab.Problems.ExternalEvaluation-3.4.csproj	(revision 17097)
@@ -11,5 +11,5 @@
     <RootNamespace>HeuristicLab.Problems.ExternalEvaluation</RootNamespace>
     <AssemblyName>HeuristicLab.Problems.ExternalEvaluation-3.4</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
     <TargetFrameworkProfile>
     </TargetFrameworkProfile>
@@ -101,7 +101,13 @@
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="Google.Protobuf, Version=3.6.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\Google.Protobuf.3.6.1\lib\net45\Google.Protobuf.dll</HintPath>
+    </Reference>
     <Reference Include="Google.ProtocolBuffers-2.4.1.473, Version=2.4.1.473">
       <HintPath>..\..\bin\Google.ProtocolBuffers-2.4.1.473.dll</HintPath>
       <Private>False</Private>
+    </Reference>
+    <Reference Include="HEAL.Attic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\HEAL.Attic.1.0.0-pre02\lib\net461\HEAL.Attic.dll</HintPath>
     </Reference>
     <Reference Include="System" />
@@ -110,4 +116,7 @@
     </Reference>
     <Reference Include="System.Drawing" />
+    <Reference Include="System.Drawing.Common, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\System.Drawing.Common.4.5.1\lib\net461\System.Drawing.Common.dll</HintPath>
+    </Reference>
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Xml.Linq">
@@ -121,4 +130,5 @@
   </ItemGroup>
   <ItemGroup>
+    <None Include="packages.config" />
     <None Include="Plugin.cs.frame" />
     <Compile Include="Converters\BoolConverter.cs" />
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationChannel.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationChannel.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationChannel.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -22,6 +22,8 @@
 using Google.ProtocolBuffers;
 using HeuristicLab.Core;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("8e62ba0d-03f5-4243-8411-3bd5f14c42be")]
   public interface IEvaluationChannel : INamedItem {
     /// <summary>
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationServiceClient.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationServiceClient.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationServiceClient.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,6 +23,8 @@
 using Google.ProtocolBuffers;
 using HeuristicLab.Core;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("8203ac65-e551-486e-8386-e297ae575279")]
   public interface IEvaluationServiceClient : IItem {
     /// <summary>
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IExternalEvaluationProblem.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IExternalEvaluationProblem.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IExternalEvaluationProblem.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("04901da1-d785-4124-a989-2a9c6bd1a81c")]
   public interface IExternalEvaluationProblem : IProblem {
 
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IItemToSolutionMessageConverter.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IItemToSolutionMessageConverter.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IItemToSolutionMessageConverter.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("581f5e17-68dc-42a0-8bc0-e0ac8992ed7b")]
   public interface IItemToSolutionMessageConverter : IItem {
     Type[] ItemTypes { get; }
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("f924ef9c-d824-40d2-89b2-6dd1220df98b")]
   public interface IMultiObjectiveOptimizationSupport {
     void Analyze(Individual[] individuals, double[][] qualities, ResultCollection results, IRandom random);
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("09d522e0-c10f-474c-b7c0-7d7f98e63f44")]
   public interface ISingleObjectiveOptimizationSupport {
     void Analyze(Individual[] individuals, double[] qualities, ResultCollection results, IRandom random);
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/MultiObjectiveExternalEvaluationProblem.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/MultiObjectiveExternalEvaluationProblem.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/MultiObjectiveExternalEvaluationProblem.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -31,10 +31,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("External Evaluation Problem (multi-objective)", "A multi-objective problem that is evaluated in a different process.")]
   [Creatable(CreatableAttribute.Categories.ExternalEvaluationProblems, Priority = 200)]
-  [StorableClass]
+  [StorableType("CCA50199-A6AB-4C84-B4FA-0262CAF416EC")]
   public class MultiObjectiveExternalEvaluationProblem : MultiObjectiveBasicProblem<IEncoding>, IExternalEvaluationProblem {
 
@@ -85,5 +85,5 @@
 
     [StorableConstructor]
-    protected MultiObjectiveExternalEvaluationProblem(bool deserializing) : base(deserializing) { }
+    protected MultiObjectiveExternalEvaluationProblem(StorableConstructorFlag _) : base(_) { }
     protected MultiObjectiveExternalEvaluationProblem(MultiObjectiveExternalEvaluationProblem original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Plugin.cs.frame
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Plugin.cs.frame	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Plugin.cs.frame	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/CompiledOptimizationSupport.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/CompiledOptimizationSupport.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/CompiledOptimizationSupport.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/MultiObjectiveOptimizationSupportScript.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/MultiObjectiveOptimizationSupportScript.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/MultiObjectiveOptimizationSupportScript.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,13 +23,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.Problems.ExternalEvaluation.Programmable;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("ProblemDefinitionScript", "Script that defines the parameter vector and evaluates the solution for a programmable problem.")]
-  [StorableClass]
+  [StorableType("617A7BEE-1B2F-4E39-A814-54CC4DFA2F02")]
   public sealed class MultiObjectiveOptimizationSupportScript : OptimizationSupportScript<IMultiObjectiveOptimizationSupport>, IMultiObjectiveOptimizationSupport {
     [StorableConstructor]
-    private MultiObjectiveOptimizationSupportScript(bool deserializing) : base(deserializing) { }
+    private MultiObjectiveOptimizationSupportScript(StorableConstructorFlag _) : base(_) { }
     private MultiObjectiveOptimizationSupportScript(MultiObjectiveOptimizationSupportScript original, Cloner cloner) : base(original, cloner) { }
     public MultiObjectiveOptimizationSupportScript() : base(Templates.CompiledMultiObjectiveOptimizationSupport) { }
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/OptimizationSupportScript.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/OptimizationSupportScript.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/OptimizationSupportScript.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -24,9 +24,9 @@
 using System.Reflection;
 using HeuristicLab.Common;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.Scripting;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
-  [StorableClass]
+  [StorableType("F1BC4885-753B-4E47-9169-EFC2E744782C")]
   public abstract class OptimizationSupportScript<T> : Script
     where T : class {
@@ -39,5 +39,5 @@
 
     [StorableConstructor]
-    protected OptimizationSupportScript(bool deserializing) : base(deserializing) { }
+    protected OptimizationSupportScript(StorableConstructorFlag _) : base(_) { }
     protected OptimizationSupportScript(OptimizationSupportScript<T> original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/OptimizationSupportScriptException.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/OptimizationSupportScriptException.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/OptimizationSupportScriptException.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/SingleObjectiveOptimizationSupportScript.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/SingleObjectiveOptimizationSupportScript.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/SingleObjectiveOptimizationSupportScript.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -24,13 +24,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.Problems.ExternalEvaluation.Programmable;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("ProblemDefinitionScript", "Script that defines the parameter vector and evaluates the solution for a programmable problem.")]
-  [StorableClass]
+  [StorableType("3EB74171-6ECB-4479-861E-DA4EB39FE70C")]
   public sealed class SingleObjectiveOptimizationSupportScript : OptimizationSupportScript<ISingleObjectiveOptimizationSupport>, ISingleObjectiveOptimizationSupport {
     [StorableConstructor]
-    private SingleObjectiveOptimizationSupportScript(bool deserializing) : base(deserializing) { }
+    private SingleObjectiveOptimizationSupportScript(StorableConstructorFlag _) : base(_) { }
     private SingleObjectiveOptimizationSupportScript(SingleObjectiveOptimizationSupportScript original, Cloner cloner) : base(original, cloner) { }
     public SingleObjectiveOptimizationSupportScript() : base(Templates.CompiledSingleObjectiveOptimizationSupport) { }
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/SolutionMessageBuilder.cs
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/SolutionMessageBuilder.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/SolutionMessageBuilder.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,9 +26,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("SolutionMessageBuilder", "Holds and uses a number of converters to translate HeuristicLab objects into appropriate fields of a solution message.")]
-  [StorableClass]
+  [StorableType("8F406464-C1F6-4BBD-8791-C836846B473B")]
   public class SolutionMessageBuilder : NamedItem {
     public override bool CanChangeName { get { return false; } }
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected SolutionMessageBuilder(bool deserializing) : base(deserializing) { }
+    protected SolutionMessageBuilder(StorableConstructorFlag _) : base(_) { }
     [StorableHook(HookType.AfterDeserialization)]
     private void AfterDeserialization() {
Index: stable/HeuristicLab.Problems.ExternalEvaluation/3.4/packages.config
===================================================================
--- stable/HeuristicLab.Problems.ExternalEvaluation/3.4/packages.config	(revision 17097)
+++ stable/HeuristicLab.Problems.ExternalEvaluation/3.4/packages.config	(revision 17097)
@@ -0,0 +1,6 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Google.Protobuf" version="3.6.1" targetFramework="net461" />
+  <package id="HEAL.Attic" version="1.0.0-pre02" targetFramework="net461" />
+  <package id="System.Drawing.Common" version="4.5.1" targetFramework="net461" />
+</packages>
