diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php b/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php
index 809f186..e5daa85 100644
--- a/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php
@@ -35,7 +35,7 @@
  *   after the config_prefix in a config name forms the entity ID. Additional or
  *   custom suffixes are not possible.
  */
-class ConfigStorageController extends EntityStorageControllerBase {
+class ConfigStorageController extends EntityStorageControllerBase implements ConfigStorageControllerInterface {
 
   /**
    * Name of the entity's UUID property.
@@ -180,42 +180,21 @@ public function deleteRevision($revision_id) {
   }
 
   /**
-   * Returns an entity query instance.
-   *
-   * @param string $conjunction
-   *   - AND: all of the conditions on the query need to match.
-   *   - OR: at least one of the conditions on the query need to match.
-   *
-   * @return \Drupal\Core\Entity\Query\QueryInterface
-   *   The query instance.
-   *
-   * @see \Drupal\Core\Entity\EntityStorageControllerInterface::getQueryServicename()
+   * {@inheritdoc}
    */
   public function getQuery($conjunction = 'AND') {
     return $this->entityQueryFactory->get($this->entityType, $conjunction);
   }
 
   /**
-   * Returns the config prefix used by the configuration entity type.
-   *
-   * @return string
-   *   The full configuration prefix, for example 'views.view.'.
+   * {@inheritdoc}
    */
   public function getConfigPrefix() {
     return $this->entityInfo->getConfigPrefix() . '.';
   }
 
   /**
-   * Extracts the configuration entity ID from the full configuration name.
-   *
-   * @param string $config_name
-   *   The full configuration name to extract the ID from. E.g.
-   *   'views.view.archive'.
-   * @param string $config_prefix
-   *   The config prefix of the configuration entity. E.g. 'views.view'
-   *
-   * @return string
-   *   The ID of the configuration entity.
+   * {@inheritdoc}
    */
   public static function getIDFromConfigName($config_name, $config_prefix) {
     return substr($config_name, strlen($config_prefix . '.'));
@@ -423,17 +402,7 @@ public function getQueryServicename() {
   }
 
   /**
-   * Create configuration upon synchronizing configuration changes.
-   *
-   * This callback is invoked when configuration is synchronized between storages
-   * and allows a module to take over the synchronization of configuration data.
-   *
-   * @param string $name
-   *   The name of the configuration object.
-   * @param \Drupal\Core\Config\Config $new_config
-   *   A configuration object containing the new configuration data.
-   * @param \Drupal\Core\Config\Config $old_config
-   *   A configuration object containing the old configuration data.
+   * {@inheritdoc}
    */
   public function importCreate($name, Config $new_config, Config $old_config) {
     $entity = $this->create($new_config->get());
@@ -443,17 +412,7 @@ public function importCreate($name, Config $new_config, Config $old_config) {
   }
 
   /**
-   * Updates configuration upon synchronizing configuration changes.
-   *
-   * This callback is invoked when configuration is synchronized between storages
-   * and allows a module to take over the synchronization of configuration data.
-   *
-   * @param string $name
-   *   The name of the configuration object.
-   * @param \Drupal\Core\Config\Config $new_config
-   *   A configuration object containing the new configuration data.
-   * @param \Drupal\Core\Config\Config $old_config
-   *   A configuration object containing the old configuration data.
+   * {@inheritdoc}
    */
   public function importUpdate($name, Config $new_config, Config $old_config) {
     $id = static::getIDFromConfigName($name, $this->entityInfo->getConfigPrefix());
@@ -474,17 +433,7 @@ public function importUpdate($name, Config $new_config, Config $old_config) {
   }
 
   /**
-   * Delete configuration upon synchronizing configuration changes.
-   *
-   * This callback is invoked when configuration is synchronized between storages
-   * and allows a module to take over the synchronization of configuration data.
-   *
-   * @param string $name
-   *   The name of the configuration object.
-   * @param \Drupal\Core\Config\Config $new_config
-   *   A configuration object containing the new configuration data.
-   * @param \Drupal\Core\Config\Config $old_config
-   *   A configuration object containing the old configuration data.
+   * {@inheritdoc}
    */
   public function importDelete($name, Config $new_config, Config $old_config) {
     $id = static::getIDFromConfigName($name, $this->entityInfo->getConfigPrefix());
diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigStorageControllerInterface.php b/core/lib/Drupal/Core/Config/Entity/ConfigStorageControllerInterface.php
new file mode 100644
index 0000000..114fa33
--- /dev/null
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigStorageControllerInterface.php
@@ -0,0 +1,99 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Core\Config\Entity\ConfigStorageControllerInterface.
+ */
+
+namespace Drupal\Core\Config\Entity;
+
+use Drupal\Core\Config\Config;
+use Drupal\Core\Entity\EntityStorageControllerInterface;
+
+/**
+ * Provides an interface for configuration entity storage.
+ */
+interface ConfigStorageControllerInterface extends EntityStorageControllerInterface {
+
+  /**
+   * Create configuration upon synchronizing configuration changes.
+   *
+   * This callback is invoked when configuration is synchronized between storages
+   * and allows a module to take over the synchronization of configuration data.
+   *
+   * @param string $name
+   *   The name of the configuration object.
+   * @param \Drupal\Core\Config\Config $new_config
+   *   A configuration object containing the new configuration data.
+   * @param \Drupal\Core\Config\Config $old_config
+   *   A configuration object containing the old configuration data.
+   */
+  public function importCreate($name, Config $new_config, Config $old_config);
+
+  /**
+   * Returns an entity query instance.
+   *
+   * @param string $conjunction
+   *   - AND: all of the conditions on the query need to match.
+   *   - OR: at least one of the conditions on the query need to match.
+   *
+   * @return \Drupal\Core\Entity\Query\QueryInterface
+   *   The query instance.
+   *
+   * @see \Drupal\Core\Entity\EntityStorageControllerInterface::getQueryServicename()
+   */
+  public function getQuery($conjunction = 'AND');
+
+  /**
+   * Updates configuration upon synchronizing configuration changes.
+   *
+   * This callback is invoked when configuration is synchronized between storages
+   * and allows a module to take over the synchronization of configuration data.
+   *
+   * @param string $name
+   *   The name of the configuration object.
+   * @param \Drupal\Core\Config\Config $new_config
+   *   A configuration object containing the new configuration data.
+   * @param \Drupal\Core\Config\Config $old_config
+   *   A configuration object containing the old configuration data.
+   */
+  public function importUpdate($name, Config $new_config, Config $old_config);
+
+  /**
+   * Delete configuration upon synchronizing configuration changes.
+   *
+   * This callback is invoked when configuration is synchronized between storages
+   * and allows a module to take over the synchronization of configuration data.
+   *
+   * @param string $name
+   *   The name of the configuration object.
+   * @param \Drupal\Core\Config\Config $new_config
+   *   A configuration object containing the new configuration data.
+   * @param \Drupal\Core\Config\Config $old_config
+   *   A configuration object containing the old configuration data.
+   */
+  public function importDelete($name, Config $new_config, Config $old_config);
+
+  /**
+   * Returns the config prefix used by the configuration entity type.
+   *
+   * @return string
+   *   The full configuration prefix, for example 'views.view.'.
+   */
+  public function getConfigPrefix();
+
+  /**
+   * Extracts the configuration entity ID from the full configuration name.
+   *
+   * @param string $config_name
+   *   The full configuration name to extract the ID from. E.g.
+   *   'views.view.archive'.
+   * @param string $config_prefix
+   *   The config prefix of the configuration entity. E.g. 'views.view'
+   *
+   * @return string
+   *   The ID of the configuration entity.
+   */
+  public static function getIDFromConfigName($config_name, $config_prefix);
+
+}
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockStorageUnitTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockStorageUnitTest.php
index 99977cb..e88f0ba 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockStorageUnitTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockStorageUnitTest.php
@@ -29,7 +29,7 @@ class BlockStorageUnitTest extends DrupalUnitTestBase {
   /**
    * The block storage controller.
    *
-   * @var \Drupal\Core\Config\Entity\ConfigStorageController.
+   * @var \Drupal\Core\Config\Entity\ConfigStorageControllerInterface.
    */
   protected $controller;
 
diff --git a/core/modules/block/tests/Drupal/block/Tests/BlockFormControllerTest.php b/core/modules/block/tests/Drupal/block/Tests/BlockFormControllerTest.php
index 69b0a1b..570ba77 100644
--- a/core/modules/block/tests/Drupal/block/Tests/BlockFormControllerTest.php
+++ b/core/modules/block/tests/Drupal/block/Tests/BlockFormControllerTest.php
@@ -31,9 +31,7 @@ public static function getInfo() {
    * @see \Drupal\block\BlockFormController::getUniqueMachineName()
    */
   public function testGetUniqueMachineName() {
-    $block_storage = $this->getMockBuilder('Drupal\Core\Config\Entity\ConfigStorageController')
-      ->disableOriginalConstructor()
-      ->getMock();
+    $block_storage = $this->getMock('Drupal\Core\Config\Entity\ConfigStorageControllerInterface');
     $blocks = array();
 
     $blocks['test'] = $this->getBlockMockWithMachineName('test');
diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityUnitTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityUnitTest.php
index 262fd46..817a7d0 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityUnitTest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityUnitTest.php
@@ -25,7 +25,7 @@ class ConfigEntityUnitTest extends DrupalUnitTestBase {
   /**
    * The config_test entity storage controller.
    *
-   * @var \Drupal\config_test\ConfigTestStorageController
+   * @var \Drupal\Core\Config\Entity\ConfigStorageControllerInterface
    */
   protected $storage;
 
diff --git a/core/modules/search/tests/Drupal/search/Tests/SearchPageRepositoryTest.php b/core/modules/search/tests/Drupal/search/Tests/SearchPageRepositoryTest.php
index b054b71..d12ae68 100644
--- a/core/modules/search/tests/Drupal/search/Tests/SearchPageRepositoryTest.php
+++ b/core/modules/search/tests/Drupal/search/Tests/SearchPageRepositoryTest.php
@@ -38,7 +38,7 @@ class SearchPageRepositoryTest extends UnitTestCase {
   /**
    * The search page storage.
    *
-   * @var \Drupal\Core\Config\Entity\ConfigStorageController|\PHPUnit_Framework_MockObject_MockObject
+   * @var \Drupal\Core\Config\Entity\ConfigStorageControllerInterface|\PHPUnit_Framework_MockObject_MockObject
    */
   protected $storage;
 
@@ -66,9 +66,7 @@ public static function getInfo() {
   public function setUp() {
     $this->query = $this->getMock('Drupal\Core\Entity\Query\QueryInterface');
 
-    $this->storage = $this->getMockBuilder('Drupal\Core\Config\Entity\ConfigStorageController')
-      ->disableOriginalConstructor()
-      ->getMock();
+    $this->storage = $this->getMock('Drupal\Core\Config\Entity\ConfigStorageControllerInterface');
     $this->storage->expects($this->any())
       ->method('getQuery')
       ->will($this->returnValue($this->query));
diff --git a/core/modules/shortcut/lib/Drupal/shortcut/ShortcutSetStorageControllerInterface.php b/core/modules/shortcut/lib/Drupal/shortcut/ShortcutSetStorageControllerInterface.php
index b4e9d97..2fb8261 100644
--- a/core/modules/shortcut/lib/Drupal/shortcut/ShortcutSetStorageControllerInterface.php
+++ b/core/modules/shortcut/lib/Drupal/shortcut/ShortcutSetStorageControllerInterface.php
@@ -7,13 +7,12 @@
 
 namespace Drupal\shortcut;
 
-use Drupal\Core\Entity\EntityStorageControllerInterface;
-use Drupal\shortcut\ShortcutSetInterface;
+use Drupal\Core\Config\Entity\ConfigStorageControllerInterface;
 
 /**
  * Defines a common interface for shortcut entity controller classes.
  */
-interface ShortcutSetStorageControllerInterface extends EntityStorageControllerInterface {
+interface ShortcutSetStorageControllerInterface extends ConfigStorageControllerInterface {
 
   /**
    * Assigns a user to a particular shortcut set.
diff --git a/core/modules/system/lib/Drupal/system/Form/DateFormatFormBase.php b/core/modules/system/lib/Drupal/system/Form/DateFormatFormBase.php
index bdce06b..7ed89ec 100644
--- a/core/modules/system/lib/Drupal/system/Form/DateFormatFormBase.php
+++ b/core/modules/system/lib/Drupal/system/Form/DateFormatFormBase.php
@@ -9,7 +9,7 @@
 
 use Drupal\Core\Ajax\AjaxResponse;
 use Drupal\Core\Ajax\ReplaceCommand;
-use Drupal\Core\Config\Entity\ConfigStorageController;
+use Drupal\Core\Config\Entity\ConfigStorageControllerInterface;
 use Drupal\Core\Datetime\Date;
 use Drupal\Core\Language\Language;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -46,7 +46,7 @@
   /**
    * The date format storage controller.
    *
-   * @var \Drupal\Core\Config\Entity\ConfigStorageController
+   * @var \Drupal\Core\Config\Entity\ConfigStorageControllerInterface
    */
   protected $dateFormatStorage;
 
@@ -57,10 +57,10 @@
    *   The entity query factory.
    * @param \Drupal\Core\Datetime\Date $date_service
    *   The date service.
-   * @param \Drupal\Core\Config\Entity\ConfigStorageController $date_format_storage
+   * @param \Drupal\Core\Config\Entity\ConfigStorageControllerInterface $date_format_storage
    *   The date format storage controller.
    */
-  public function __construct(QueryFactory $query_factory, Date $date_service, ConfigStorageController $date_format_storage) {
+  public function __construct(QueryFactory $query_factory, Date $date_service, ConfigStorageControllerInterface $date_format_storage) {
     $date = new DrupalDateTime();
     $this->patternType = $date->canUseIntl() ? DrupalDateTime::INTL : DrupalDateTime::PHP;
 
diff --git a/core/modules/system/lib/Drupal/system/PathBasedBreadcrumbBuilder.php b/core/modules/system/lib/Drupal/system/PathBasedBreadcrumbBuilder.php
index f185e48..4ab853c 100644
--- a/core/modules/system/lib/Drupal/system/PathBasedBreadcrumbBuilder.php
+++ b/core/modules/system/lib/Drupal/system/PathBasedBreadcrumbBuilder.php
@@ -42,7 +42,7 @@ class PathBasedBreadcrumbBuilder extends BreadcrumbBuilderBase {
   /**
    * The menu storage controller.
    *
-   * @var \Drupal\Core\Config\Entity\ConfigStorageController
+   * @var \Drupal\Core\Config\Entity\ConfigStorageControllerInterface
    */
   protected $menuStorage;
 
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyStorageControllerInterface.php b/core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyStorageControllerInterface.php
index b9e82ef..3b9a925 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyStorageControllerInterface.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyStorageControllerInterface.php
@@ -7,12 +7,12 @@
 
 namespace Drupal\taxonomy;
 
-use Drupal\Core\Entity\EntityStorageControllerInterface;
+use Drupal\Core\Config\Entity\ConfigStorageControllerInterface;
 
 /**
  * Defines a common interface for taxonomy vocabulary entity controller classes.
  */
-interface VocabularyStorageControllerInterface extends EntityStorageControllerInterface {
+interface VocabularyStorageControllerInterface extends ConfigStorageControllerInterface {
 
   /**
    * Gets top-level term IDs of vocabularies.
diff --git a/core/modules/user/lib/Drupal/user/RoleStorageControllerInterface.php b/core/modules/user/lib/Drupal/user/RoleStorageControllerInterface.php
index 0e18e2b..86e68ac 100644
--- a/core/modules/user/lib/Drupal/user/RoleStorageControllerInterface.php
+++ b/core/modules/user/lib/Drupal/user/RoleStorageControllerInterface.php
@@ -7,12 +7,12 @@
 
 namespace Drupal\user;
 
-use Drupal\Core\Entity\EntityStorageControllerInterface;
+use Drupal\Core\Config\Entity\ConfigStorageControllerInterface;
 
 /**
  * Defines a common interface for roel entity controller classes.
  */
-interface RoleStorageControllerInterface extends EntityStorageControllerInterface {
+interface RoleStorageControllerInterface extends ConfigStorageControllerInterface {
 
   /**
    * Delete role references.
