Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ArraySerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ArraySerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ArraySerializer.cs	(revision 14927)
@@ -23,10 +23,10 @@
 using System.Collections.Generic;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("17987df2-38f0-4158-b4c7-783ffa2737d1")]
   internal sealed class ArraySerializer : ICompositeSerializer {
 
@@ -99,9 +99,7 @@
         }
         return Array.CreateInstance(t.GetElementType(), lengths, lowerBounds);
-      }
-      catch (InvalidOperationException x) {
+      } catch (InvalidOperationException x) {
         throw new PersistenceException("Insufficient meta information to construct array instance.", x);
-      }
-      catch (InvalidCastException x) {
+      } catch (InvalidCastException x) {
         throw new PersistenceException("Invalid format of array metainfo.", x);
       }
@@ -134,12 +132,9 @@
           }
         }
-      }
-      catch (InvalidOperationException x) {
+      } catch (InvalidOperationException x) {
         throw new PersistenceException("Insufficient data to fill array instance", x);
-      }
-      catch (InvalidCastException x) {
+      } catch (InvalidCastException x) {
         throw new PersistenceException("Invalid element data. Cannot fill array", x);
-      }
-      catch (IndexOutOfRangeException x) {
+      } catch (IndexOutOfRangeException x) {
         throw new PersistenceException("Too many elements during array deserialization", x);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/CompactNumberArray2StringSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/CompactNumberArray2StringSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/CompactNumberArray2StringSerializer.cs	(revision 14927)
@@ -26,10 +26,10 @@
 using HeuristicLab.Persistence.Auxiliary;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("a5c269da-4122-4ea0-9eb7-c3441be404b8")]
   public sealed class CompactNumberArray2StringSerializer : ICompositeSerializer {
 
@@ -187,9 +187,7 @@
         }
         return a;
-      }
-      catch (InvalidOperationException e) {
+      } catch (InvalidOperationException e) {
         throw new PersistenceException("Insuffictient data to deserialize compact array", e);
-      }
-      catch (InvalidCastException e) {
+      } catch (InvalidCastException e) {
         throw new PersistenceException("Invalid element data during compact array deserialization", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ConcreteDictionarySerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ConcreteDictionarySerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ConcreteDictionarySerializer.cs	(revision 14927)
@@ -25,10 +25,10 @@
 using System.Linq;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("0ce2011a-5666-40df-9874-f5eeccea5a72")]
   internal sealed class ConcreteDictionarySerializer : ICompositeSerializer {
 
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/DictionarySerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/DictionarySerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/DictionarySerializer.cs	(revision 14927)
@@ -25,10 +25,10 @@
 using HeuristicLab.Persistence.Auxiliary;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("813d9a0f-a611-478e-8149-e5d338c9a273")]
   internal sealed class DictionarySerializer : ICompositeSerializer {
 
@@ -79,15 +79,11 @@
           dict.Add(key.Value, value.Value);
         }
-      }
-      catch (InvalidOperationException e) {
+      } catch (InvalidOperationException e) {
         throw new PersistenceException("Dictionaries must contain an even number of elements (key+value).", e);
-      }
-      catch (NotSupportedException e) {
+      } catch (NotSupportedException e) {
         throw new PersistenceException("The serialized dictionary type was read-only or had a fixed size and cannot be deserialized.", e);
-      }
-      catch (ArgumentNullException e) {
+      } catch (ArgumentNullException e) {
         throw new PersistenceException("Dictionary key was null.", e);
-      }
-      catch (ArgumentException e) {
+      } catch (ArgumentException e) {
         throw new PersistenceException("Duplicate dictionary key.", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumSerializer.cs	(revision 14927)
@@ -23,10 +23,10 @@
 using System.Collections.Generic;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("7ff55c07-1c83-4d0f-924a-37c28d936d74")]
   internal sealed class EnumSerializer : ICompositeSerializer {
 
@@ -60,9 +60,7 @@
         it.MoveNext();
         return Enum.Parse(t, (string)it.Current.Value);
-      }
-      catch (InvalidOperationException e) {
+      } catch (InvalidOperationException e) {
         throw new PersistenceException("not enough meta information to recstruct enum", e);
-      }
-      catch (InvalidCastException e) {
+      } catch (InvalidCastException e) {
         throw new PersistenceException("invalid meta information found while trying to reconstruct enum", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumerableSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumerableSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumerableSerializer.cs	(revision 14927)
@@ -26,10 +26,10 @@
 using HeuristicLab.Persistence.Auxiliary;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("4421c2a4-9ee1-4cfc-b98e-755a81dc5241")]
   internal sealed class EnumerableSerializer : ICompositeSerializer {
 
@@ -80,6 +80,5 @@
         foreach (var tag in tags)
           addMethod.Invoke(instance, new[] { tag.Value });
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Exception caught while trying to populate enumerable.", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/HashSetSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/HashSetSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/HashSetSerializer.cs	(revision 14927)
@@ -26,10 +26,10 @@
 using System.Reflection;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("51099049-20f2-4a71-8eae-b4ea9d677115")]
   internal sealed class HashSetSerializer : ICompositeSerializer {
 
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/KeyValuePairSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/KeyValuePairSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/KeyValuePairSerializer.cs	(revision 14927)
@@ -25,10 +25,10 @@
 using System.Reflection;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("97d00efc-4eb0-4dc7-a58c-977c45c2904c")]
   internal sealed class KeyValuePairSerializer : ICompositeSerializer {
 
@@ -64,6 +64,5 @@
       try {
         key = new Tag("key", t.GetProperty("Key").GetValue(o, null));
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Exception caught during KeyValuePair decomposition", e);
       }
@@ -71,6 +70,5 @@
       try {
         value = new Tag("value", t.GetProperty("Value").GetValue(o, null));
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Exception caught during KeyValuePair decomposition", e);
       }
@@ -91,9 +89,7 @@
         t.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
           .Single(fi => fi.Name == "value").SetValue(instance, iter.Current.Value);
-      }
-      catch (InvalidOperationException e) {
+      } catch (InvalidOperationException e) {
         throw new PersistenceException("Not enough components to populate KeyValuePair instance", e);
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Exception caught during KeyValuePair reconstruction", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Number2StringSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Number2StringSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Number2StringSerializer.cs	(revision 14927)
@@ -25,5 +25,5 @@
 using HeuristicLab.Persistence.Auxiliary;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Default.Xml;
 using HeuristicLab.Persistence.Default.Xml.Primitive;
@@ -40,5 +40,5 @@
   /// but can be useful in generating custom serializers.
   /// </summary>
-  [StorableClass]
+  [StorableType("23af67f5-2af6-4aca-b841-21345eacfb2f")]
   public sealed class Number2StringSerializer : ICompositeSerializer {
 
@@ -115,9 +115,7 @@
       try {
         return numberSerializerMap[Nullable.GetUnderlyingType(type) ?? type].Parse(new XmlString(stringValue));
-      }
-      catch (FormatException e) {
+      } catch (FormatException e) {
         throw new PersistenceException("Invalid element data during number parsing.", e);
-      }
-      catch (OverflowException e) {
+      } catch (OverflowException e) {
         throw new PersistenceException("Overflow during number parsing.", e);
       }
@@ -172,11 +170,9 @@
         it.MoveNext();
         return Parse((string)it.Current.Value, type);
-      }
-      catch (InvalidOperationException e) {
+      } catch (InvalidOperationException e) {
         throw new PersistenceException(
           String.Format("Insufficient meta information to reconstruct number of type {0}.",
           type.VersionInvariantName()), e);
-      }
-      catch (InvalidCastException e) {
+      } catch (InvalidCastException e) {
         throw new PersistenceException("Invalid meta information element type", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs	(revision 14927)
@@ -26,10 +26,10 @@
 using HeuristicLab.Persistence.Auxiliary;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("8bb7c8b8-89e5-41d4-a37e-c43e5beee451")]
   internal sealed class NumberEnumerable2StringSerializer : ICompositeSerializer {
 
@@ -136,9 +136,7 @@
           addMethod.Invoke(instance, new[] { numberConverter.Parse(value, elementType) });
         }
-      }
-      catch (InvalidOperationException e) {
+      } catch (InvalidOperationException e) {
         throw new PersistenceException("Insufficient element data to reconstruct number enumerable", e);
-      }
-      catch (InvalidCastException e) {
+      } catch (InvalidCastException e) {
         throw new PersistenceException("Invalid element data during reconstruction of number enumerable", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/QueueSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/QueueSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/QueueSerializer.cs	(revision 14927)
@@ -25,10 +25,10 @@
 using System.Reflection;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("7a0dee32-0800-4a78-a1c3-88cd97939ca0")]
   internal sealed class QueueSerializer : ICompositeSerializer {
 
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StackSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StackSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StackSerializer.cs	(revision 14927)
@@ -25,10 +25,10 @@
 using System.Reflection;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("e395b076-6001-417e-925c-8820cc0354df")]
   internal sealed class StackSerializer : ICompositeSerializer {
 
@@ -76,6 +76,5 @@
         foreach (var tag in tags)
           addMethod.Invoke(instance, new[] { tag.Value });
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Exception caught while trying to populate enumerable.", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs	(revision 14927)
@@ -28,4 +28,5 @@
 using HeuristicLab.Persistence.Core;
 using HeuristicLab.Persistence.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers.Storable {
@@ -38,5 +39,5 @@
   /// or <c>AllFieldsAndAllProperties</c>.
   /// </summary>
-  [StorableClass]
+  [StorableType("ea2bd700-d2c9-4319-9883-b795bd8f078f")]
   public sealed class StorableSerializer : ICompositeSerializer {
 
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs	(revision 14927)
@@ -24,10 +24,10 @@
 using System.Reflection;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("070243ae-13d3-490e-ad17-81a96941ea3c")]
   internal sealed class StructSerializer : ICompositeSerializer {
 
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TupleSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TupleSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TupleSerializer.cs	(revision 14927)
@@ -25,10 +25,10 @@
 using System.Reflection;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("604ea532-4a4f-4cf6-af44-1e56cf357997")]
   internal sealed class TupleSerializer : ICompositeSerializer {
 
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TypeSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TypeSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TypeSerializer.cs	(revision 14927)
@@ -24,10 +24,10 @@
 using HeuristicLab.Persistence.Auxiliary;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass]
+  [StorableType("dd23170e-0998-438a-b935-2061a7a4762e")]
   internal sealed class TypeSerializer : ICompositeSerializer {
 
@@ -66,15 +66,12 @@
       try {
         it.MoveNext();
-      }
-      catch (InvalidOperationException e) {
+      } catch (InvalidOperationException e) {
         throw new PersistenceException("Insufficient meta information to instantiate Type object", e);
       }
       try {
         return TypeLoader.Load((string)it.Current.Value);
-      }
-      catch (InvalidCastException e) {
+      } catch (InvalidCastException e) {
         throw new PersistenceException("Invalid meta information during reconstruction of Type object", e);
-      }
-      catch (TypeLoadException e) {
+      } catch (TypeLoadException e) {
         throw new PersistenceException(String.Format(
           "Cannot load Type {0}, make sure all required assemblies are available.",
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/DebugString/DebugString.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/DebugString/DebugString.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/DebugString/DebugString.cs	(revision 14927)
@@ -20,5 +20,5 @@
 #endregion
 
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
@@ -28,5 +28,5 @@
   /// Simple write-only format for debugging purposes.
   /// </summary>
-  [StorableClass]
+  [StorableType("05a1ee13-75c0-4ff1-b403-57573364d7e3")]
   public class DebugString : ISerialData {
 
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/DebugString/DebugStringFormat.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/DebugString/DebugStringFormat.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/DebugString/DebugStringFormat.cs	(revision 14927)
@@ -20,5 +20,5 @@
 #endregion
 
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
@@ -28,5 +28,5 @@
   /// Simple write-only format for debugging purposes.
   /// </summary>
-  [StorableClass]
+  [StorableType("90f9f859-5c96-4d91-8f17-826a401ecd8f")]
   public class DebugStringFormat : FormatBase<DebugString> {
     /// <summary>
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/DebugString/DebugStringGenerator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/DebugString/DebugStringGenerator.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/DebugString/DebugStringGenerator.cs	(revision 14927)
@@ -185,5 +185,5 @@
     /// <returns>A string representation of the complete object graph.</returns>
     public static string Serialize(object o, Configuration configuration) {
-      Serializer s = new Serializer(o, configuration);
+      var s = new HeuristicLab.Persistence.Core.Serializer(o, configuration);
       DebugStringGenerator generator = new DebugStringGenerator();
       StringBuilder sb = new StringBuilder();
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/ByteArray2XmlSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/ByteArray2XmlSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/ByteArray2XmlSerializer.cs	(revision 14927)
@@ -36,4 +36,4 @@
   internal sealed class Bytet2DArray2XmlSerializer : ByteArray2XmlSerializer<byte[,]> { }
 
-  internal sealed class Byte3DArray2XmlSerializer : ByteArray2XmlSerializer<byte[, ,]> { }
+  internal sealed class Byte3DArray2XmlSerializer : ByteArray2XmlSerializer<byte[,,]> { }
 }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/DoubleArray2XmlSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/DoubleArray2XmlSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/DoubleArray2XmlSerializer.cs	(revision 14927)
@@ -39,5 +39,5 @@
   internal sealed class Double2DArray2XmlSerializer : DoubleArray2XmlSerializerBase<double[,]> { }
 
-  internal sealed class Double3DArray2XmlSerializer : DoubleArray2XmlSerializerBase<double[, ,]> { }
+  internal sealed class Double3DArray2XmlSerializer : DoubleArray2XmlSerializerBase<double[,,]> { }
 
 }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/DoubleList2XmlSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/DoubleList2XmlSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/DoubleList2XmlSerializer.cs	(revision 14927)
@@ -46,9 +46,7 @@
         }
         return list;
-      }
-      catch (InvalidCastException e) {
+      } catch (InvalidCastException e) {
         throw new PersistenceException("Invalid element data during reconstruction of List<double>.", e);
-      }
-      catch (OverflowException e) {
+      } catch (OverflowException e) {
         throw new PersistenceException("Overflow during element parsing while trying to reconstruct List<double>.", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/IntArray2XmlSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/IntArray2XmlSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/IntArray2XmlSerializer.cs	(revision 14927)
@@ -38,5 +38,5 @@
   internal class Int2DArray2XmlSerializer : IntArray2XmlSerializerBase<int[,]> { }
 
-  internal class Int3DArray2XmlSerializer : IntArray2XmlSerializerBase<int[, ,]> { }
+  internal class Int3DArray2XmlSerializer : IntArray2XmlSerializerBase<int[,,]> { }
 
 }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/NumberArray2XmlSerializerBase.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/NumberArray2XmlSerializerBase.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/NumberArray2XmlSerializerBase.cs	(revision 14927)
@@ -27,9 +27,9 @@
 using HeuristicLab.Persistence.Auxiliary;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Persistence.Default.Xml.Compact {
 
-  [StorableClass]
+  [StorableType("ed511bc6-4889-4be1-bb57-c819d3e9e7be")]
   internal abstract class NumberArray2XmlSerializerBase<T> : CompactXmlSerializerBase<T> where T : class {
 
@@ -108,12 +108,9 @@
           throw new PersistenceException("Insufficient number of elements while trying to fill number array.");
         return (T)(object)a;
-      }
-      catch (InvalidOperationException e) {
+      } catch (InvalidOperationException e) {
         throw new PersistenceException("Insufficient information to rebuild number array.", e);
-      }
-      catch (InvalidCastException e) {
+      } catch (InvalidCastException e) {
         throw new PersistenceException("Invalid element data or meta data to reconstruct number array.", e);
-      }
-      catch (OverflowException e) {
+      } catch (OverflowException e) {
         throw new PersistenceException("Overflow during element parsing while trying to reconstruct number array.", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/NumberEnumeration2XmlSerializerBase.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/NumberEnumeration2XmlSerializerBase.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Compact/NumberEnumeration2XmlSerializerBase.cs	(revision 14927)
@@ -25,9 +25,9 @@
 using HeuristicLab.Persistence.Auxiliary;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Persistence.Default.Xml.Compact {
 
-  [StorableClass]
+  [StorableType("a0910e86-de41-4862-abf5-82bbed54de70")]
   internal abstract class NumberEnumeration2XmlSerializerBase<T> : CompactXmlSerializerBase<T> where T : IEnumerable {
 
@@ -54,9 +54,7 @@
         }
         return (T)enumeration;
-      }
-      catch (InvalidCastException e) {
+      } catch (InvalidCastException e) {
         throw new PersistenceException("Invalid element data during reconstruction of number enumerable.", e);
-      }
-      catch (OverflowException e) {
+      } catch (OverflowException e) {
         throw new PersistenceException("Overflow during element parsing while trying to reconstruct number enumerable.", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/EasyXmlGenerator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/EasyXmlGenerator.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/EasyXmlGenerator.cs	(revision 14927)
@@ -154,6 +154,5 @@
         File.Copy(tempfile, filename, true);
         File.Delete(tempfile);
-      }
-      catch (Exception) {
+      } catch (Exception) {
         Logger.Warn("Exception caught, no data has been written.");
         throw;
@@ -181,5 +180,5 @@
       try {
         using (StreamWriter writer = new StreamWriter(stream)) {
-          Serializer serializer = new Serializer(obj, config);
+          var serializer = new HeuristicLab.Persistence.Core.Serializer(obj, config);
           serializer.InterleaveTypeInformation = true;
           ReadableXmlGenerator generator = new ReadableXmlGenerator();
@@ -190,9 +189,7 @@
           writer.Flush();
         }
-      }
-      catch (PersistenceException) {
+      } catch (PersistenceException) {
         throw;
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Unexpected exception during Serialization.", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/Char2XmlFormatter.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/Char2XmlFormatter.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/Char2XmlFormatter.cs	(revision 14927)
@@ -37,5 +37,5 @@
 
     private static string ToBase64String(char c) {
-      return string.Format("<Base64>{0}</Base64>", Convert.ToBase64String(Encoding.ASCII.GetBytes(new[] {c})));
+      return string.Format("<Base64>{0}</Base64>", Convert.ToBase64String(Encoding.ASCII.GetBytes(new[] { c })));
     }
 
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/DateTime2XmlSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/DateTime2XmlSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/DateTime2XmlSerializer.cs	(revision 14927)
@@ -34,6 +34,5 @@
       try {
         return new DateTime(long.Parse(x.Data));
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Exception caugth while trying to reconstruct DateTime object.", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/Guid2XmlSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/Guid2XmlSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/Guid2XmlSerializer.cs	(revision 14927)
@@ -36,9 +36,7 @@
       try {
         return new Guid(t.Data);
-      }
-      catch (FormatException x) {
+      } catch (FormatException x) {
         throw new PersistenceException("Cannot parse Guid string representation.", x);
-      }
-      catch (OverflowException x) {
+      } catch (OverflowException x) {
         throw new PersistenceException("Overflow during Guid parsing.", x);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/SimpleNumber2XmlSerializerBase.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/SimpleNumber2XmlSerializerBase.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/SimpleNumber2XmlSerializerBase.cs	(revision 14927)
@@ -44,6 +44,5 @@
       try {
         return (T)ParseMethod.Invoke(null, new[] { x.Data });
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Could not parse simple number.", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/System.Drawing/Bitmap2XmlSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/System.Drawing/Bitmap2XmlSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/System.Drawing/Bitmap2XmlSerializer.cs	(revision 14927)
@@ -28,5 +28,5 @@
   internal sealed class Bitmap2XmlSerializer : PrimitiveXmlSerializerBase<Bitmap> {
 
-    public override XmlString Format(Bitmap o) {      
+    public override XmlString Format(Bitmap o) {
       MemoryStream stream = new MemoryStream();
       lock (o)
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/TimeSpan2XmlSerializer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/TimeSpan2XmlSerializer.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/TimeSpan2XmlSerializer.cs	(revision 14927)
@@ -35,9 +35,7 @@
       try {
         return TimeSpan.Parse(t.Data);
-      }
-      catch (FormatException x) {
+      } catch (FormatException x) {
         throw new PersistenceException("Cannot parse TimeSpan string representation.", x);
-      }
-      catch (OverflowException x) {
+      } catch (OverflowException x) {
         throw new PersistenceException("Overflow during TimeSpan parsing.", x);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlFormat.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlFormat.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlFormat.cs	(revision 14927)
@@ -20,5 +20,5 @@
 #endregion
 
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
@@ -29,5 +29,5 @@
   /// or save to a file.
   /// </summary>
-  [StorableClass]
+  [StorableType("8c79e9a6-02d6-471c-8787-43d96d61c1db")]
   public class XmlFormat : FormatBase<XmlString> {
     /// <summary>
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlGenerator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlGenerator.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlGenerator.cs	(revision 14927)
@@ -61,5 +61,5 @@
     }
 
-    protected enum NodeType { Start, End, Inline } ;
+    protected enum NodeType { Start, End, Inline };
 
     protected static void AddXmlTagContent(StringBuilder sb, string name, Dictionary<string, string> attributes) {
@@ -256,6 +256,5 @@
           {"typeName", lastTypeToken.TypeName },
           {"serializer", lastTypeToken.Serializer }});
-      }
-      finally {
+      } finally {
         lastTypeToken = null;
       }
@@ -313,9 +312,9 @@
     private static void Serialize(object obj, Stream stream, Configuration config, bool includeAssemblies
    , CompressionLevel compression) {
-      Serializer serializer = new Serializer(obj, config);
+      var serializer = new HeuristicLab.Persistence.Core.Serializer(obj, config);
       Serialize(stream, includeAssemblies, compression, serializer);
     }
 
-    private static void Serialize(Stream stream, bool includeAssemblies, CompressionLevel compression, Serializer serializer) {
+    private static void Serialize(Stream stream, bool includeAssemblies, CompressionLevel compression, HeuristicLab.Persistence.Core.Serializer serializer) {
       try {
         DateTime start = DateTime.Now;
@@ -360,6 +359,5 @@
         Logger.Info(String.Format("serialization took {0} seconds with compression level {1}",
           (DateTime.Now - start).TotalSeconds, compression));
-      }
-      catch (Exception) {
+      } catch (Exception) {
         Logger.Warn("Exception caught, no data has been serialized.");
         throw;
@@ -385,6 +383,5 @@
         File.Copy(tempfile, filename, true);
         File.Delete(tempfile);
-      }
-      catch (Exception) {
+      } catch (Exception) {
         Logger.Warn("Exception caught, no data has been written.");
         throw;
@@ -426,5 +423,5 @@
                                  CompressionType compressionType = CompressionType.GZip) {
       try {
-        Serializer serializer = new Serializer(obj, config);
+        var serializer = new HeuristicLab.Persistence.Core.Serializer(obj, config);
         if (compressionType == CompressionType.Zip) {
           Serialize(obj, stream, config, includeAssemblies, CompressionLevel.Optimal);
@@ -432,9 +429,7 @@
           Serialize(stream, serializer);
         }
-      }
-      catch (PersistenceException) {
+      } catch (PersistenceException) {
         throw;
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Unexpected exception during Serialization.", e);
       }
@@ -453,5 +448,5 @@
                                  CompressionType compressionType = CompressionType.GZip) {
       try {
-        Serializer serializer = new Serializer(obj, config);
+        var serializer = new HeuristicLab.Persistence.Core.Serializer(obj, config);
         if (compressionType == CompressionType.Zip) {
           Serialize(stream, includeAssemblies, CompressionLevel.Optimal, serializer);
@@ -460,14 +455,12 @@
         }
         types = serializer.SerializedTypes;
-      }
-      catch (PersistenceException) {
+      } catch (PersistenceException) {
         throw;
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Unexpected exception during Serialization.", e);
       }
     }
 
-    private static void Serialize(Stream stream, Serializer serializer) {
+    private static void Serialize(Stream stream, HeuristicLab.Persistence.Core.Serializer serializer) {
       using (StreamWriter writer = new StreamWriter(new GZipStream(stream, CompressionMode.Compress))) {
         serializer.InterleaveTypeInformation = true;
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs	(revision 14927)
@@ -81,6 +81,5 @@
         try {
           iterator = handlers[reader.Name].Invoke();
-        }
-        catch (KeyNotFoundException) {
+        } catch (KeyNotFoundException) {
           throw new PersistenceException(String.Format(
             "Invalid XML tag \"{0}\" in persistence file.",
@@ -182,9 +181,7 @@
         }
         return typeCache;
-      }
-      catch (PersistenceException) {
+      } catch (PersistenceException) {
         throw;
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Unexpected exception during type cache parsing.", e);
       }
@@ -204,6 +201,5 @@
           }
         }
-      }
-      finally {
+      } finally {
         TimeSpan end = System.Diagnostics.Process.GetCurrentProcess().TotalProcessorTime;
         Tracing.Logger.Info(string.Format(
@@ -251,9 +247,7 @@
             return deserializer.Deserialize(parser);
           }
-        }
-        catch (PersistenceException) {
+        } catch (PersistenceException) {
           throw;
-        }
-        catch (Exception x) {
+        } catch (Exception x) {
           throw new PersistenceException("Unexpected exception during deserialization", x);
         }
@@ -279,9 +273,7 @@
 
         return result;
-      }
-      catch (PersistenceException) {
+      } catch (PersistenceException) {
         throw;
-      }
-      catch (Exception e) {
+      } catch (Exception e) {
         throw new PersistenceException("Unexpected exception during deserialization", e);
       }
Index: branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlString.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlString.cs	(revision 14925)
+++ branches/PersistenceReintegration/HeuristicLab.Persistence/3.3/Default/Xml/XmlString.cs	(revision 14927)
@@ -21,5 +21,5 @@
 
 using System.Text;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Interfaces;
 
@@ -29,5 +29,5 @@
   /// XML friendly encapsulation of string data.
   /// </summary>
-  [StorableClass]
+  [StorableType("a358bb95-a494-4512-b1fe-53c66c77423c")]
   public class XmlString : ISerialData {
 
