Index: branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("d0fb4b32-b19e-4abe-ad94-05c20c72b560")]
   public interface IDecoder<in T> : IItem {
     Solution Decode(T encodedSolution, PackingShape binShape, IList<PackingItem> items);
Index: branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("ae84f8c8-4b2a-4423-b491-18b3b8da0eec")]
   public interface IEvaluator : IItem {
     double Evaluate(Solution solution);
Index: branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("9b608e63-fff8-4d11-882c-665671a31a9b")]
   public interface IOperator<TSol> : IItem {
     ILookupParameter<ReadOnlyItemList<PackingItem>> ItemsParameter { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("84e60d12-3120-456d-ae61-faf69986dc6c")]
   public interface IDecoder<in T> : IItem {
     Solution Decode(T encodedSolution, PackingShape binShape, IList<PackingItem> items, bool useStackingConstraints);
Index: branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("5ffcdb10-1025-46ac-af6f-c6446bfc48c2")]
   public interface IEvaluator : IItem {
     double Evaluate(Solution solution);
Index: branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("8d9df8bb-090e-4726-a2c5-277cabf96ded")]
   public interface IOperator<TSol> : IItem {
     ILookupParameter<ReadOnlyItemList<PackingItem>> ItemsParameter { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Joseph Helm and Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 namespace HeuristicLab.Problems.BinPacking {
   // a packing item is one of the items that needs to be located in one of the packing bins (containers)
+  [StorableType("4ed6cdff-6a6a-4918-b81c-8efea66f3a85")]
   public interface IPackingItem : IPackingShape {
     double Weight { get; set; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs	(revision 14929)
@@ -21,7 +21,9 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking {
 
+  [StorableType("63e62033-ee40-459a-8732-1e72c1d3d54c")]
   public interface IPackingPosition : IItem {
     int AssignedBin { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs	(revision 14929)
@@ -22,8 +22,10 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking {
   // a packing shape represents a physical object of correct dimension (2d or 3d) 
   // packing bins (containers) and packing items are both packing shapes
+  [StorableType("e9d08b3f-0cf6-4101-aaf6-46cef453ecfd")]
   public interface IPackingShape : IItem, IComparable {
     int Volume { get; }
