diff --git a/lib/SimpleSAML/ModifiedInfo.php b/lib/SimpleSAML/ModifiedInfo.php
new file mode 100644
index 0000000000000000000000000000000000000000..9eedc834c02e90e361f9549f5f5ddc2323ede1ae
--- /dev/null
+++ b/lib/SimpleSAML/ModifiedInfo.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * The ModifiedInfo interface allows an object to export information about
+ * whether it has been modified since it was deserialized or not.
+ */
+interface SimpleSAML_ModifiedInfo {
+
+	/**
+	 * This function is used to determine if this object has changed
+	 * since it was deserialized.
+	 *
+	 * @return TRUE if it has changed, FALSE if not.
+	 */
+	public function isModified();
+
+}
+?>
\ No newline at end of file
diff --git a/lib/SimpleSAML/Session.php b/lib/SimpleSAML/Session.php
index a94a5ea86883a5c10993e914ab414470ee9bb191..2fa078b356691a67f1d093e5d7356856b23cfaff 100644
--- a/lib/SimpleSAML/Session.php
+++ b/lib/SimpleSAML/Session.php
@@ -6,6 +6,8 @@ require_once('SimpleSAML/Session.php');
 require_once('SimpleSAML/SessionHandler.php');
 require_once('SimpleSAML/Metadata/MetaDataStorageHandler.php');
 require_once('SimpleSAML/Logger.php');
+require_once('SimpleSAML/ModifiedInfo.php');
+
 /**
  * The Session class holds information about a user session, and everything attached to it.
  *
@@ -18,7 +20,7 @@ require_once('SimpleSAML/Logger.php');
  * @package simpleSAMLphp
  * @version $Id$
  */
-class SimpleSAML_Session {
+class SimpleSAML_Session implements SimpleSAML_ModifiedInfo {
 
 	const STATE_ONLINE = 1;
 	const STATE_LOGOUTINPROGRESS = 2;