Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/BoolConverter.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/BoolConverter.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/BoolConverter.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -29,5 +29,5 @@
 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]
+  [StorableClass("D2FDE528-079E-4F52-9094-AB17757D7001")]
   public class BoolConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(ValueTypeValue<bool>), typeof(ValueTypeArray<bool>), typeof(ValueTypeMatrix<bool>) };
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DateTimeValueConverter.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DateTimeValueConverter.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DateTimeValueConverter.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -28,5 +28,5 @@
 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]
+  [StorableClass("48435B55-095F-489D-8772-F37CAF503B1D")]
   public class DateTimeValueConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(DateTimeValue) };
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DoubleConverter.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DoubleConverter.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DoubleConverter.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -29,5 +29,5 @@
 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]
+  [StorableClass("E30FB893-DC93-410A-A74E-FD07330B2622")]
   public class DoubleConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(ValueTypeValue<double>), typeof(ValueTypeArray<double>), typeof(ValueTypeMatrix<double>) };
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/IntegerConverter.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/IntegerConverter.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/IntegerConverter.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -29,5 +29,5 @@
 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]
+  [StorableClass("CC1127E7-0F10-4C31-924D-74091BC5E8B6")]
   public class IntegerConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(ValueTypeValue<int>), typeof(ValueTypeArray<int>), typeof(ValueTypeMatrix<int>) };
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/StringConverter.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/StringConverter.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/StringConverter.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -28,5 +28,5 @@
 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]
+  [StorableClass("4CFC699A-5BF0-44E8-99B5-42358EB78D52")]
   public class StringConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(StringValue), typeof(StringArray), typeof(StringMatrix), typeof(IStringConvertibleValue), typeof(IStringConvertibleArray), typeof(IStringConvertibleMatrix) };
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/TimeSpanValueConverter.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/TimeSpanValueConverter.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/TimeSpanValueConverter.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -28,5 +28,5 @@
 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]
+  [StorableClass("9B79E328-2BAC-4CD2-876C-A86FA146A207")]
   public class TimeSpanValueConverter : Item, IItemToSolutionMessageConverter {
     private static readonly Type[] itemTypes = new Type[] { typeof(TimeSpanValue) };
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationChannel.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationChannel.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationChannel.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -27,5 +27,5 @@
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("EvaluationChannel", "Abstract base class for channels to be used in an external evaluation problem.")]
-  [StorableClass]
+  [StorableClass("594F3729-E6BE-41BE-9117-255B7A17D40D")]
   public abstract class EvaluationChannel : NamedItem, IEvaluationChannel {
     public override bool CanChangeName { get { return false; } }
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationProcessChannel.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationProcessChannel.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationProcessChannel.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -30,5 +30,5 @@
 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]
+  [StorableClass("9067F50C-CCD0-47F7-A03B-E29B15610C73")]
   public class EvaluationProcessChannel : EvaluationChannel {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("EvaluationServiceClient", "An RPC client that evaluates a solution.")]
-  [StorableClass]
+  [StorableClass("AB30EDF1-6188-43A9-8BAF-67F892BA8AA2")]
   public class EvaluationServiceClient : ParameterizedNamedItem, IEvaluationServiceClient {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationStreamChannel.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationStreamChannel.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationStreamChannel.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -29,5 +29,5 @@
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("EvaluationStreamChannel", "A channel that communicates via an input and an output stream.")]
-  [StorableClass]
+  [StorableClass("2B11783B-9E33-485A-9F59-106EAC9BE40A")]
   public class EvaluationStreamChannel : EvaluationChannel {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationTCPChannel.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationTCPChannel.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationTCPChannel.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("EvaluationTCPChannel", "A channel that creates a TCP connection over a network.")]
-  [StorableClass]
+  [StorableClass("1CDD7F3C-51F7-4D64-BE01-2663DF5509AE")]
   public class EvaluationTCPChannel : EvaluationChannel {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -41,5 +41,5 @@
 
   [Item("EvaluationCache", "Cache for external evaluation values")]
-  [StorableClass]
+  [StorableClass("FAEB5479-B4D4-4BCC-99C2-D2A6E8F40917")]
   public class EvaluationCache : ParameterizedNamedItem {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/ExternalEvaluationProblem.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/ExternalEvaluationProblem.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/ExternalEvaluationProblem.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -37,5 +37,5 @@
   [Item("External Evaluation Problem (single-objective)", "A problem that is evaluated in a different process.")]
   [Creatable(CreatableAttribute.Categories.ExternalEvaluationProblems, Priority = 100)]
-  [StorableClass]
+  [StorableClass("CFB83F63-CF43-4D94-AFD7-997022ABAFE0")]
   // BackwardsCompatibility3.3
   // Rename class to SingleObjectiveExternalEvaluationProblem
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/MultiObjectiveExternalEvaluationProblem.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/MultiObjectiveExternalEvaluationProblem.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/MultiObjectiveExternalEvaluationProblem.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -36,5 +36,5 @@
   [Item("External Evaluation Problem (multi-objective)", "A multi-objective problem that is evaluated in a different process.")]
   [Creatable(CreatableAttribute.Categories.ExternalEvaluationProblems, Priority = 200)]
-  [StorableClass]
+  [StorableClass("46F8D88B-FADF-4E9E-867F-7451FE37B6B9")]
   public class MultiObjectiveExternalEvaluationProblem : MultiObjectiveBasicProblem<IEncoding>, IExternalEvaluationProblem {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/MultiObjectiveOptimizationSupportScript.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/MultiObjectiveOptimizationSupportScript.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/MultiObjectiveOptimizationSupportScript.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -28,5 +28,5 @@
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("ProblemDefinitionScript", "Script that defines the parameter vector and evaluates the solution for a programmable problem.")]
-  [StorableClass]
+  [StorableClass("868702DE-4514-4F32-8E73-F602D9E8B7A8")]
   public sealed class MultiObjectiveOptimizationSupportScript : OptimizationSupportScript<IMultiObjectiveOptimizationSupport>, IMultiObjectiveOptimizationSupport {
     [StorableConstructor]
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/SingleObjectiveOptimizationSupportScript.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/SingleObjectiveOptimizationSupportScript.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/SingleObjectiveOptimizationSupportScript.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -29,5 +29,5 @@
 namespace HeuristicLab.Problems.ExternalEvaluation {
   [Item("ProblemDefinitionScript", "Script that defines the parameter vector and evaluates the solution for a programmable problem.")]
-  [StorableClass]
+  [StorableClass("B494EF47-B663-4015-8022-693E327E2764")]
   public sealed class SingleObjectiveOptimizationSupportScript : OptimizationSupportScript<ISingleObjectiveOptimizationSupport>, ISingleObjectiveOptimizationSupport {
     [StorableConstructor]
Index: branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/SolutionMessageBuilder.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/SolutionMessageBuilder.cs	(revision 13325)
+++ branches/PersistenceOverhaul/HeuristicLab.Problems.ExternalEvaluation/3.4/SolutionMessageBuilder.cs	(revision 13368)
@@ -1,3 +1,3 @@
-﻿#region License Information
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -30,5 +30,5 @@
 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]
+  [StorableClass("240E62E6-9C29-45FC-A93E-45759CE99B7E")]
   public class SolutionMessageBuilder : NamedItem {
     public override bool CanChangeName { get { return false; } }
