Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ArraySerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ArraySerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ArraySerializer.cs	(revision 14711)
@@ -28,5 +28,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("DED1FAD5-BD24-49FA-8F8A-E6DA78FA91EF")]
+  [StorableType("DED1FAD5-BD24-49FA-8F8A-E6DA78FA91EF")]
   internal sealed class ArraySerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/CompactNumberArray2StringSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/CompactNumberArray2StringSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/CompactNumberArray2StringSerializer.cs	(revision 14711)
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("F3E94492-318E-41BA-8707-F20001911B92")]
+  [StorableType("F3E94492-318E-41BA-8707-F20001911B92")]
   public sealed class CompactNumberArray2StringSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ConcreteDictionarySerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ConcreteDictionarySerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ConcreteDictionarySerializer.cs	(revision 14711)
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("D56A21E9-720A-4ABC-88B0-0BD64A852F42")]
+  [StorableType("D56A21E9-720A-4ABC-88B0-0BD64A852F42")]
   internal sealed class ConcreteDictionarySerializer : ICompositeSerializer {
 
@@ -47,5 +47,5 @@
 
     public string JustifyRejection(Type type) {
-      return "Type is not a generic Dictionary<>";
+      return "MemberSelection is not a generic Dictionary<>";
     }
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/DictionarySerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/DictionarySerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/DictionarySerializer.cs	(revision 14711)
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("8D8AA145-C845-454E-BE7D-472A949FF5E9")]
+  [StorableType("8D8AA145-C845-454E-BE7D-472A949FF5E9")]
   internal sealed class DictionarySerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumSerializer.cs	(revision 14711)
@@ -28,5 +28,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("9208E160-B797-4A5A-9474-539FE9D10FED")]
+  [StorableType("9208E160-B797-4A5A-9474-539FE9D10FED")]
   internal sealed class EnumSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumerableSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumerableSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumerableSerializer.cs	(revision 14711)
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("925173F9-9DBB-4110-9ADE-F2144DE674CD")]
+  [StorableType("925173F9-9DBB-4110-9ADE-F2144DE674CD")]
   internal sealed class EnumerableSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/HashSetSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/HashSetSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/HashSetSerializer.cs	(revision 14711)
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("BBE5697E-7FEC-49DE-923A-FCE72C43B0D9")]
+  [StorableType("BBE5697E-7FEC-49DE-923A-FCE72C43B0D9")]
   internal sealed class HashSetSerializer : ICompositeSerializer {
 
@@ -47,5 +47,5 @@
 
     public string JustifyRejection(Type type) {
-      return "Type is not a generic HashSet<>";
+      return "MemberSelection is not a generic HashSet<>";
     }
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/KeyValuePairSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/KeyValuePairSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/KeyValuePairSerializer.cs	(revision 14711)
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("4DBE73C7-DD3B-4222-A18F-8873B6F45A7B")]
+  [StorableType("4DBE73C7-DD3B-4222-A18F-8873B6F45A7B")]
   internal sealed class KeyValuePairSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Number2StringSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Number2StringSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Number2StringSerializer.cs	(revision 14711)
@@ -40,5 +40,5 @@
   /// but can be useful in generating custom serializers.
   /// </summary>
-  [StorableClass("F6AD0D2A-275D-4CA1-9557-87CD43260DB0")]
+  [StorableType("F6AD0D2A-275D-4CA1-9557-87CD43260DB0")]
   public sealed class Number2StringSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs	(revision 14711)
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("7ECEC2AF-524F-4703-8BF9-C8660DE048C6")]
+  [StorableType("7ECEC2AF-524F-4703-8BF9-C8660DE048C6")]
   internal sealed class NumberEnumerable2StringSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/QueueSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/QueueSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/QueueSerializer.cs	(revision 14711)
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("B02DED3E-53E8-45FD-8331-9BF13A4364D6")]
+  [StorableType("B02DED3E-53E8-45FD-8331-9BF13A4364D6")]
   internal sealed class QueueSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StackSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StackSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StackSerializer.cs	(revision 14711)
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("20A8AE66-617A-457D-9219-B2C095575053")]
+  [StorableType("20A8AE66-617A-457D-9219-B2C095575053")]
   internal sealed class StackSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableAttribute.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableAttribute.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableAttribute.cs	(revision 14711)
@@ -30,5 +30,5 @@
   /// Mark the member of a class to be considered by the <c>StorableSerializer</c>.
   /// The class must be marked as <c>[StorableClass("05FE6F11-87C6-435E-800A-166AFACCF5AC")]</c> and the
-  /// <c>StorableClassType</c> should be set to <c>MarkedOnly</c> for
+  /// <c>StorableMemberSelection</c> should be set to <c>MarkedOnly</c> for
   /// this attribute to kick in.
   /// </summary>
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableHookAttribute.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableHookAttribute.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableHookAttribute.cs	(revision 14711)
@@ -72,5 +72,5 @@
     /// at the <c>HookType</c> time.
     /// </summary>
-    /// <param name="hookType">Type of the hook.</param>
+    /// <param name="hookType">MemberSelection of the hook.</param>
     public StorableHookAttribute(HookType hookType) {
       this.hookType = hookType;
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableMemberSelection.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableMemberSelection.cs	(revision 14711)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableMemberSelection.cs	(revision 14711)
@@ -0,0 +1,62 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+
+namespace HeuristicLab.Persistence.Default.CompositeSerializers.Storable {
+
+  /// <summary>
+  /// Specifies which memebrs are selected for serialization by the StorableSerializer
+  /// </summary>
+  public enum StorableMemberSelection {
+
+    /// <summary>
+    /// Serialize only fields and properties that have been marked
+    /// with the [Storable] attribute. This is the default value.
+    /// </summary>
+    MarkedOnly,
+
+    /// <summary>
+    /// Serialize all fields but ignore the 
+    /// [Storable] attribute on properties.
+    /// 
+    /// This does not include generated backing fields
+    /// for automatic properties.
+    /// </summary>    
+    AllFields,
+
+    /// <summary>
+    /// Serialize all properties but ignore the
+    /// [Storable] attribute on fields.
+    /// </summary>    
+    AllProperties,
+
+    /// <summary>
+    /// Serialize all fields and all properties
+    /// regardless of the [Storable] attribute.
+    /// 
+    /// This does not include generated backing fields
+    /// for automatic properties, but uses the property
+    /// accessors instead.
+    /// </summary>    
+    AllFieldsAndAllProperties
+  };
+}
+
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableReflection.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableReflection.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableReflection.cs	(revision 14711)
@@ -45,15 +45,15 @@
       var storableClassAttribute = GetStorableClassAttribute(type);
       if (storableClassAttribute != null) {
-        switch (storableClassAttribute.Type) {
-          case StorableClassType.MarkedOnly:
+        switch (storableClassAttribute.MemberSelection) {
+          case StorableMemberSelection.MarkedOnly:
             AddMarkedMembers(type, storableMembers); break;
-          case StorableClassType.AllFields:
+          case StorableMemberSelection.AllFields:
             AddAll(type, MemberTypes.Field, storableMembers); break;
-          case StorableClassType.AllProperties:
+          case StorableMemberSelection.AllProperties:
             AddAll(type, MemberTypes.Property, storableMembers); break;
-          case StorableClassType.AllFieldsAndAllProperties:
+          case StorableMemberSelection.AllFieldsAndAllProperties:
             AddAll(type, MemberTypes.Field | MemberTypes.Property, storableMembers); break;
           default:
-            throw new PersistenceException("unsupported [StorableClassType]: " + storableClassAttribute.Type);
+            throw new PersistenceException("unsupported [StorableMemberSelection]: " + storableClassAttribute.MemberSelection);
         }
       }
@@ -174,11 +174,11 @@
     #region [StorableClass("BBAFAC35-1753-4FF2-8CD5-9D307C782287")] helpers
 
-    private static StorableClassAttribute GetStorableClassAttribute(Type type) {
+    private static StorableTypeAttribute GetStorableClassAttribute(Type type) {
       lock (storableClassCache) {
         if (storableClassCache.ContainsKey(type))
           return storableClassCache[type];
-        StorableClassAttribute attribute = type
-          .GetCustomAttributes(typeof(StorableClassAttribute), false)
-          .SingleOrDefault() as StorableClassAttribute;
+        StorableTypeAttribute attribute = type
+          .GetCustomAttributes(typeof(StorableTypeAttribute), false)
+          .SingleOrDefault() as StorableTypeAttribute;
         storableClassCache.Add(type, attribute);
         return attribute;
@@ -190,6 +190,6 @@
     }
 
-    private static Dictionary<Type, StorableClassAttribute> storableClassCache =
-      new Dictionary<Type, StorableClassAttribute>();
+    private static Dictionary<Type, StorableTypeAttribute> storableClassCache =
+      new Dictionary<Type, StorableTypeAttribute>();
 
     #endregion
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs	(revision 14711)
@@ -38,5 +38,5 @@
   /// or <c>AllFieldsAndAllProperties</c>.
   /// </summary>
-  [StorableClass("FB71B522-2818-48CD-AF43-EB1E0C2D6504")]
+  [StorableType("FB71B522-2818-48CD-AF43-EB1E0C2D6504")]
   public sealed class StorableSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableTypeAttribute.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableTypeAttribute.cs	(revision 14711)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableTypeAttribute.cs	(revision 14711)
@@ -0,0 +1,79 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+
+namespace HeuristicLab.Persistence.Default.CompositeSerializers.Storable {
+
+  /// <summary>
+  /// Mark a class to be considered by the <c>StorableSerializer</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface | AttributeTargets.Enum | AttributeTargets.Delegate, Inherited = false, AllowMultiple = false)]
+  public sealed class StorableTypeAttribute : Attribute {
+
+
+    /// <summary>
+    /// Specify how members are selected for serialization.
+    /// </summary>
+    public StorableMemberSelection MemberSelection { get; private set; }
+
+    public Guid Guid { get; private set; }
+    public bool Released { get; set; }
+
+    /// <summary>
+    /// Mark a class to be serialize by the <c>StorableSerizlier</c>
+    /// </summary>
+    /// <param name="memberSelection">The storable class memberSelection.</param>
+    public StorableTypeAttribute(StorableMemberSelection memberSelection, string guid) {
+      MemberSelection = memberSelection;
+      Guid = new Guid(guid);
+      Released = false;
+    }
+
+    public StorableTypeAttribute(string guid) {
+      Guid = new Guid(guid);
+      Released = false;
+    }
+
+    /// <summary>
+    /// Initializes a new instance of the <see cref="StorableTypeAttribute"/> class.
+    /// The default value for <see cref="StorableMemberSelection"/> is
+    /// <see cref="StorableMemberSelection.MarkedOnly"/>.
+    /// </summary>
+    private StorableTypeAttribute() { }
+
+    /// <summary>
+    ///  Checks if the <see cref="StorableTypeAttribute"/> is present on a memberSelection.
+    /// </summary>
+    /// <param name="type">The memberSelection which should be checked for the <see cref="StorableTypeAttribute"/></param>
+    /// <returns></returns>
+    public static bool IsStorableType(Type type) {
+      object[] attribs = type.GetCustomAttributes(typeof(StorableTypeAttribute), false);
+      return attribs.Length > 0;
+    }
+
+    public static StorableTypeAttribute GetStorableTypeAttribute(Type type) {
+      return (StorableTypeAttribute)Attribute.GetCustomAttribute(type, typeof(StorableTypeAttribute), false);
+    }
+
+  }
+}
+
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs	(revision 14711)
@@ -29,5 +29,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("47A795AF-7F1C-4EA7-84A8-DAE07C00EFB6")]
+  [StorableType("47A795AF-7F1C-4EA7-84A8-DAE07C00EFB6")]
   internal sealed class StructSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TupleSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TupleSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TupleSerializer.cs	(revision 14711)
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("A1768781-CFE2-4C87-BF7C-6B344483F30B")]
+  [StorableType("A1768781-CFE2-4C87-BF7C-6B344483F30B")]
   internal sealed class TupleSerializer : ICompositeSerializer {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TypeSerializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TypeSerializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TypeSerializer.cs	(revision 14711)
@@ -29,5 +29,5 @@
 namespace HeuristicLab.Persistence.Default.CompositeSerializers {
 
-  [StorableClass("EC815939-4BC3-44D1-8464-7FCEA6D802C5")]
+  [StorableType("EC815939-4BC3-44D1-8464-7FCEA6D802C5")]
   internal sealed class TypeSerializer : ICompositeSerializer {
 
@@ -50,5 +50,5 @@
     public string JustifyRejection(Type type) {
       #region Mono Compatibility
-      return "not System.Type, System.RuntimeType, System.MonoType";
+      return "not System.MemberSelection, System.RuntimeType, System.MonoType";
       #endregion
     }
@@ -68,5 +68,5 @@
       }
       catch (InvalidOperationException e) {
-        throw new PersistenceException("Insufficient meta information to instantiate Type object", e);
+        throw new PersistenceException("Insufficient meta information to instantiate MemberSelection object", e);
       }
       try {
@@ -74,9 +74,9 @@
       }
       catch (InvalidCastException e) {
-        throw new PersistenceException("Invalid meta information during reconstruction of Type object", e);
+        throw new PersistenceException("Invalid meta information during reconstruction of MemberSelection object", e);
       }
       catch (TypeLoadException e) {
         throw new PersistenceException(String.Format(
-          "Cannot load Type {0}, make sure all required assemblies are available.",
+          "Cannot load MemberSelection {0}, make sure all required assemblies are available.",
           (string)it.Current.Value), e);
       }
@@ -84,5 +84,5 @@
 
     public void Populate(object instance, IEnumerable<Tag> objects, Type type) {
-      // Type ojects are populated during instance creation.
+      // MemberSelection ojects are populated during instance creation.
     }
   }
