diff --git a/lib/Drupal/ctools/ExportableBase.php b/lib/Drupal/ctools/ExportableBase.php
index 78ceb14..a4f8d47 100644
--- a/lib/Drupal/ctools/ExportableBase.php
+++ b/lib/Drupal/ctools/ExportableBase.php
@@ -149,4 +149,12 @@ class ExportableBase implements ExportableInterface {
     ctools_exportable_get_controller($this->exportableType)->createDuplicate($this);
   }
 
+  /**
+   * @todo.
+   */
+  public function id() {
+    $info = ctools_exportable_get_controller($this->exportableType)->getInfo();
+    return $this->{$info['key']};
+  }
+
 }
diff --git a/lib/Drupal/ctools/ExportableInterface.php b/lib/Drupal/ctools/ExportableInterface.php
index 6e0556c..376aa4b 100644
--- a/lib/Drupal/ctools/ExportableInterface.php
+++ b/lib/Drupal/ctools/ExportableInterface.php
@@ -79,4 +79,9 @@ interface ExportableInterface {
    */
   public function createDuplicate();
 
+  /**
+   * @todo.
+   */
+  public function id();
+
 }
