diff --git a/core/modules/entity/config/schema/entity.data_types.schema.yml b/core/config/schema/core.entity.data_types.schema.yml
similarity index 100%
rename from core/modules/entity/config/schema/entity.data_types.schema.yml
rename to core/config/schema/core.entity.data_types.schema.yml
diff --git a/core/modules/entity/config/schema/entity.schema.yml b/core/config/schema/core.entity.schema.yml
similarity index 96%
rename from core/modules/entity/config/schema/entity.schema.yml
rename to core/config/schema/core.entity.schema.yml
index a924bad..e5db26d 100644
--- a/core/modules/entity/config/schema/entity.schema.yml
+++ b/core/config/schema/core.entity.schema.yml
@@ -1,6 +1,6 @@
 # Schema for Configuration files of the entity module.
 
-entity.view_mode.*.*:
+core.entity_view_mode.*.*:
   type: mapping
   label: 'Entity view mode settings'
   mapping:
@@ -29,7 +29,7 @@ entity.view_mode.*.*:
       type: config_dependencies
       label: 'Dependencies'
 
-entity.form_mode.*.*:
+core.entity_form_mode.*.*:
   type: config_entity
   label: 'Entity form mode settings'
   mapping:
@@ -47,7 +47,7 @@ entity.form_mode.*.*:
       label: 'Cache'
 
 # Overview configuration information for view mode or form mode displays.
-entity.view_display.*.*.*:
+core.entity_view_display.*.*.*:
   type: config_entity
   label: 'Entity display'
   mapping:
@@ -79,7 +79,7 @@ entity.view_display.*.*.*:
           label: 'Value'
 
 # Overview configuration information for form mode displays.
-entity.form_display.*.*.*:
+core.entity_form_display.*.*.*:
   type: config_entity
   label: 'Entity form display'
   mapping:
diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
index 210e259..c0120df 100644
--- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
@@ -250,7 +250,7 @@ public function toArray() {
     $id_key = $this->getEntityType()->getKey('id');
     foreach (array_keys($definition['mapping']) as $name) {
       // Special handling for IDs so that computed compound IDs work.
-      // @see \Drupal\entity\EntityDisplayBase::id()
+      // @see \Drupal\Core\Entity\EntityDisplayBase::id()
       if ($name == $id_key) {
         $properties[$name] = $this->id();
       }
diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php
index de398da..bda84f6 100644
--- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php
@@ -7,6 +7,8 @@
 
 namespace Drupal\Core\Config\Entity;
 
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
 use Drupal\Core\Entity\EntityStorageInterface;
 
 /**
@@ -18,6 +20,60 @@
 abstract class ConfigEntityBundleBase extends ConfigEntityBase {
 
   /**
+   * Renames displays when a bundle is renamed.
+   */
+  protected function renameDisplays() {
+    // Rename entity displays.
+    $entity_type = \Drupal::entityManager()->getDefinition('entity_view_display');
+    if ($this->getOriginalId() !== $this->id()) {
+      $ids = \Drupal::configFactory()->listAll('core.entity_view_display.' . $this->getEntityType()->getBundleOf() . '.' . $this->getOriginalId() . '.');
+      foreach ($ids as $id) {
+        $id = ConfigEntityStorage::getIDFromConfigName($id, $entity_type->getConfigPrefix());
+        $display = EntityViewDisplay::load($id);
+        $new_id = $this->getEntityType()->getBundleOf() . '.' . $this->id() . '.' . $display->mode;
+        $display->set('id', $new_id);
+        $display->bundle = $this->id();
+        $display->save();
+      }
+    }
+
+    // Rename entity form displays.
+    $entity_type = \Drupal::entityManager()->getDefinition('entity_form_display');
+    if ($this->getOriginalId() !== $this->id()) {
+      $ids = \Drupal::configFactory()->listAll('core.entity_form_display.' . $this->getEntityType()->getBundleOf() . '.' . $this->getOriginalId() . '.');
+      foreach ($ids as $id) {
+        $id = ConfigEntityStorage::getIDFromConfigName($id, $entity_type->getConfigPrefix());
+        $form_display = EntityFormDisplay::load($id);
+        $new_id = $this->getEntityType()->getBundleOf() . '.' . $this->id() . '.' . $form_display->mode;
+        $form_display->set('id', $new_id);
+        $form_display->bundle = $this->getEntityType()->getBundleOf();
+        $form_display->save();
+      }
+    }
+  }
+
+  /**
+   * Deletes display if a bundle is deleted.
+   */
+  function deleteDisplays() {
+    // Remove entity displays of the deleted bundle.
+    $entity_type = \Drupal::entityManager()->getDefinition('entity_view_display');
+    $ids = \Drupal::configFactory()->listAll('core.entity_view_display.' . $this->getEntityType()->getBundleOf() . '.' . $this->id() . '.');
+    foreach ($ids as &$id) {
+      $id = ConfigEntityStorage::getIDFromConfigName($id, $entity_type->getConfigPrefix());
+    }
+    entity_delete_multiple('entity_view_display', $ids);
+
+    // Remove entity form displays of the deleted bundle.
+    $entity_type = \Drupal::entityManager()->getDefinition('entity_form_display');
+    $ids = \Drupal::configFactory()->listAll('core.entity_form_display.' . $this->getEntityType()->getBundleOf() . '.' . $this->id() . '.');
+    foreach ($ids as &$id) {
+      $id = ConfigEntityStorage::getIDFromConfigName($id, $entity_type->getConfigPrefix());
+    }
+    entity_delete_multiple('entity_form_display', $ids);
+  }
+
+  /**
    * {@inheritdoc}
    */
   public function postSave(EntityStorageInterface $storage, $update = TRUE) {
@@ -27,6 +83,7 @@ public function postSave(EntityStorageInterface $storage, $update = TRUE) {
       entity_invoke_bundle_hook('create', $this->getEntityType()->getBundleOf(), $this->id());
     }
     elseif ($this->getOriginalId() != $this->id()) {
+      $this->renameDisplays();
       entity_invoke_bundle_hook('rename', $this->getEntityType()->getBundleOf(), $this->getOriginalId(), $this->id());
     }
   }
@@ -38,6 +95,7 @@ public static function postDelete(EntityStorageInterface $storage, array $entiti
     parent::postDelete($storage, $entities);
 
     foreach ($entities as $entity) {
+      $entity->deleteDisplays();
       entity_invoke_bundle_hook('delete', $entity->getEntityType()->getBundleOf(), $entity->id());
     }
   }
diff --git a/core/lib/Drupal/Core/Entity/ContentEntityForm.php b/core/lib/Drupal/Core/Entity/ContentEntityForm.php
index d2fc480..ff90c0d 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityForm.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityForm.php
@@ -9,7 +9,6 @@
 
 use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
 use Drupal\Core\Form\FormStateInterface;
-use Drupal\entity\Entity\EntityFormDisplay;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -77,7 +76,7 @@ protected function init(FormStateInterface $form_state) {
     $langcode = $this->getFormLangcode($form_state);
     $this->entity = $this->entity->getTranslation($langcode);
 
-    $form_display = EntityFormDisplay::collectRenderDisplay($this->entity, $this->getOperation());
+    $form_display = Entity\EntityFormDisplay::collectRenderDisplay($this->entity, $this->getOperation());
     $this->setFormDisplay($form_display, $form_state);
 
     parent::init($form_state);
diff --git a/core/modules/entity/src/Entity/EntityFormDisplay.php b/core/lib/Drupal/Core/Entity/Entity/EntityFormDisplay.php
similarity index 96%
rename from core/modules/entity/src/Entity/EntityFormDisplay.php
rename to core/lib/Drupal/Core/Entity/Entity/EntityFormDisplay.php
index cbaa689..4b79197 100644
--- a/core/modules/entity/src/Entity/EntityFormDisplay.php
+++ b/core/lib/Drupal/Core/Entity/Entity/EntityFormDisplay.php
@@ -2,15 +2,14 @@
 
 /**
  * @file
- * Contains \Drupal\entity\Entity\EntityFormDisplay.
+ * Contains \Drupal\Core\Entity\Entity\EntityFormDisplay.
  */
 
-namespace Drupal\entity\Entity;
+namespace Drupal\Core\Entity\Entity;
 
 use Drupal\Core\Entity\ContentEntityInterface;
 use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
 use Drupal\Core\Form\FormStateInterface;
-use Drupal\entity\EntityDisplayBase;
 
 /**
  * Configuration entity that contains widget options for all components of a
@@ -19,14 +18,13 @@
  * @ConfigEntityType(
  *   id = "entity_form_display",
  *   label = @Translation("Entity form display"),
- *   config_prefix = "form_display",
  *   entity_keys = {
  *     "id" = "id",
  *     "status" = "status"
  *   }
  * )
  */
-class EntityFormDisplay extends EntityDisplayBase implements EntityFormDisplayInterface {
+class EntityFormDisplay extends \Drupal\Core\Entity\EntityDisplayBase implements EntityFormDisplayInterface {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/entity/src/Entity/EntityFormMode.php b/core/lib/Drupal/Core/Entity/Entity/EntityFormMode.php
similarity index 63%
rename from core/modules/entity/src/Entity/EntityFormMode.php
rename to core/lib/Drupal/Core/Entity/Entity/EntityFormMode.php
index 5b2f59a..6fa32f0 100644
--- a/core/modules/entity/src/Entity/EntityFormMode.php
+++ b/core/lib/Drupal/Core/Entity/Entity/EntityFormMode.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\entity\Entity\EntityFormMode.
+ * Contains \Drupal\Core\Entity\Entity\EntityFormMode.
  */
 
-namespace Drupal\entity\Entity;
+namespace Drupal\Core\Entity\Entity;
 
-use Drupal\entity\EntityDisplayModeBase;
-use Drupal\entity\EntityFormModeInterface;
+use Drupal\Core\Entity\EntityDisplayModeBase;
+use Drupal\Core\Entity\EntityFormModeInterface;
 
 /**
  * Defines the form mode configuration entity class.
@@ -26,27 +26,14 @@
  *
  * @see \Drupal\Core\Entity\EntityManagerInterface::getAllFormModes()
  * @see \Drupal\Core\Entity\EntityManagerInterface::getFormModes()
- * @see hook_entity_form_mode_info_alter()
  *
  * @ConfigEntityType(
  *   id = "form_mode",
  *   label = @Translation("Form mode"),
- *   controllers = {
- *     "list_builder" = "Drupal\entity\EntityFormModeListBuilder",
- *     "form" = {
- *       "add" = "Drupal\entity\Form\EntityFormModeAddForm",
- *       "edit" = "Drupal\entity\Form\EntityDisplayModeEditForm",
- *       "delete" = "Drupal\entity\Form\EntityDisplayModeDeleteForm"
- *     }
- *   },
- *   admin_permission = "administer display modes",
+ *   config_prefix = "entity_form_mode",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label"
- *   },
- *   links = {
- *     "delete-form" = "entity.form_mode.delete_form",
- *     "edit-form" = "entity.form_mode.edit_form"
  *   }
  * )
  */
diff --git a/core/modules/entity/src/Entity/EntityViewDisplay.php b/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php
similarity index 96%
rename from core/modules/entity/src/Entity/EntityViewDisplay.php
rename to core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php
index 3dcc55d..57041e9 100644
--- a/core/modules/entity/src/Entity/EntityViewDisplay.php
+++ b/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php
@@ -2,15 +2,15 @@
 
 /**
  * @file
- * Contains \Drupal\entity\Entity\EntityViewDisplay.
+ * Contains \Drupal\Core\Entity\Entity\EntityViewDisplay.
  */
 
-namespace Drupal\entity\Entity;
+namespace Drupal\Core\Entity\Entity;
 
 use Drupal\Component\Utility\NestedArray;
 use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Entity\ContentEntityInterface;
-use Drupal\entity\EntityDisplayBase;
+use Drupal\Core\Entity\EntityDisplayBase;
 
 /**
  * Configuration entity that contains display options for all components of a
@@ -19,10 +19,6 @@
  * @ConfigEntityType(
  *   id = "entity_view_display",
  *   label = @Translation("Entity view display"),
- *   controllers = {
- *     "storage" = "Drupal\Core\Config\Entity\ConfigEntityStorage"
- *   },
- *   config_prefix = "view_display",
  *   entity_keys = {
  *     "id" = "id",
  *     "status" = "status"
diff --git a/core/modules/entity/src/Entity/EntityViewMode.php b/core/lib/Drupal/Core/Entity/Entity/EntityViewMode.php
similarity index 66%
rename from core/modules/entity/src/Entity/EntityViewMode.php
rename to core/lib/Drupal/Core/Entity/Entity/EntityViewMode.php
index ef59f56..dcded0d 100644
--- a/core/modules/entity/src/Entity/EntityViewMode.php
+++ b/core/lib/Drupal/Core/Entity/Entity/EntityViewMode.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\entity\Entity\EntityViewMode.
+ * Contains \Drupal\Core\Entity\Entity\EntityViewMode.
  */
 
-namespace Drupal\entity\Entity;
+namespace Drupal\Core\Entity\Entity;
 
-use Drupal\entity\EntityDisplayModeBase;
-use Drupal\entity\EntityViewModeInterface;
+use Drupal\Core\Entity\EntityDisplayModeBase;
+use Drupal\Core\Entity\EntityViewModeInterface;
 
 /**
  * Defines the view mode configuration entity class.
@@ -32,22 +32,10 @@
  * @ConfigEntityType(
  *   id = "view_mode",
  *   label = @Translation("View mode"),
- *   controllers = {
- *     "list_builder" = "Drupal\entity\EntityDisplayModeListBuilder",
- *     "form" = {
- *       "add" = "Drupal\entity\Form\EntityDisplayModeAddForm",
- *       "edit" = "Drupal\entity\Form\EntityDisplayModeEditForm",
- *       "delete" = "Drupal\entity\Form\EntityDisplayModeDeleteForm"
- *     }
- *   },
- *   admin_permission = "administer display modes",
+ *   config_prefix = "entity_view_mode",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label"
- *   },
- *   links = {
- *     "delete-form" = "entity.view_mode.delete_form",
- *     "edit-form" = "entity.view_mode.edit_form"
  *   }
  * )
  */
diff --git a/core/modules/entity/src/EntityDisplayBase.php b/core/lib/Drupal/Core/Entity/EntityDisplayBase.php
similarity index 98%
rename from core/modules/entity/src/EntityDisplayBase.php
rename to core/lib/Drupal/Core/Entity/EntityDisplayBase.php
index ff6d40e..3c6250f 100644
--- a/core/modules/entity/src/EntityDisplayBase.php
+++ b/core/lib/Drupal/Core/Entity/EntityDisplayBase.php
@@ -2,13 +2,12 @@
 
 /**
  * @file
- * Contains \Drupal\entity\EntityDisplayBase.
+ * Contains \Drupal\Core\Entity\EntityDisplayBase.
  */
 
-namespace Drupal\entity;
+namespace Drupal\Core\Entity;
 
 use Drupal\Core\Config\Entity\ConfigEntityBase;
-use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\Core\Field\FieldDefinitionInterface;
 use Drupal\Core\Entity\Display\EntityDisplayInterface;
 use Drupal\field\Entity\FieldInstanceConfig;
diff --git a/core/modules/entity/src/EntityDisplayModeBase.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php
similarity index 91%
rename from core/modules/entity/src/EntityDisplayModeBase.php
rename to core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php
index 4dadc56..01fefaf 100644
--- a/core/modules/entity/src/EntityDisplayModeBase.php
+++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php
@@ -2,14 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\entity\EntityDisplayModeBase.
+ * Contains \Drupal\Core\Entity\EntityDisplayModeBase.
  */
 
-namespace Drupal\entity;
+namespace Drupal\Core\Entity;
 
 use Drupal\Core\Config\Entity\ConfigEntityBase;
 use Drupal\Core\Config\Entity\ConfigEntityInterface;
-use Drupal\Core\Entity\EntityStorageInterface;
 
 /**
  * Base class for config entity types that hold settings for form and view modes.
@@ -63,8 +62,8 @@
    * {@inheritdoc}
    */
   public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) {
-    /** @var \Drupal\entity\EntityDisplayModeInterface $a */
-    /** @var \Drupal\entity\EntityDisplayModeInterface $b */
+    /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $a */
+    /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $b */
     // Sort by the type of entity the view mode is used for.
     $a_type = $a->getTargetType();
     $b_type = $b->getTargetType();
diff --git a/core/modules/entity/src/EntityDisplayModeInterface.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeInterface.php
similarity index 81%
rename from core/modules/entity/src/EntityDisplayModeInterface.php
rename to core/lib/Drupal/Core/Entity/EntityDisplayModeInterface.php
index 178df61..bf21c93 100644
--- a/core/modules/entity/src/EntityDisplayModeInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeInterface.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\entity\EntityDisplayModeInterface.
+ * Contains \Drupal\Core\Entity\EntityDisplayModeInterface.
  */
 
-namespace Drupal\entity;
+namespace Drupal\Core\Entity;
 
 use Drupal\Core\Config\Entity\ConfigEntityInterface;
 
diff --git a/core/modules/entity/src/EntityFormModeInterface.php b/core/lib/Drupal/Core/Entity/EntityFormModeInterface.php
similarity index 66%
rename from core/modules/entity/src/EntityFormModeInterface.php
rename to core/lib/Drupal/Core/Entity/EntityFormModeInterface.php
index e298e11..6fdecee 100644
--- a/core/modules/entity/src/EntityFormModeInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityFormModeInterface.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\entity\EntityFormModeInterface.
+ * Contains \Drupal\Core\Entity\EntityFormModeInterface.
  */
 
-namespace Drupal\entity;
+namespace Drupal\Core\Entity;
 
 /**
  * Provides an interface defining an entity form mode entity type.
diff --git a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php
index 99438d6..ffc2526 100644
--- a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php
+++ b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php
@@ -10,14 +10,13 @@
 use Drupal\Component\Utility\NestedArray;
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
-use Drupal\Core\Entity\ContentEntityInterface;
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\Core\Language\LanguageManagerInterface;
 use Drupal\Core\TypedData\TranslatableInterface;
 use Drupal\Core\Render\Element;
-use Drupal\entity\Entity\EntityViewDisplay;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -393,7 +392,7 @@ public function viewField(FieldItemListInterface $items, $display_options = arra
     // Get the display object.
     if (is_string($display_options)) {
       $view_mode = $display_options;
-      $display = EntityViewDisplay::collectRenderDisplay($entity, $view_mode);
+      $display = Entity\EntityViewDisplay::collectRenderDisplay($entity, $view_mode);
       // Hide all fields except the current one.
       foreach (array_keys($entity->getFieldDefinitions()) as $name) {
         if ($name != $field_name) {
diff --git a/core/modules/entity/src/EntityViewModeInterface.php b/core/lib/Drupal/Core/Entity/EntityViewModeInterface.php
similarity index 66%
rename from core/modules/entity/src/EntityViewModeInterface.php
rename to core/lib/Drupal/Core/Entity/EntityViewModeInterface.php
index 7ff4e51..f2bfe7c 100644
--- a/core/modules/entity/src/EntityViewModeInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityViewModeInterface.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\entity\EntityViewModeInterface.
+ * Contains \Drupal\Core\Entity\EntityViewModeInterface.
  */
 
-namespace Drupal\entity;
+namespace Drupal\Core\Entity;
 
 /**
  * Provides an interface defining an entity view mode entity type.
diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php
index 6270c8e..ae76cdf 100644
--- a/core/lib/Drupal/Core/Extension/ModuleHandler.php
+++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php
@@ -966,7 +966,19 @@ public function uninstall(array $module_list, $uninstall_dependents = TRUE) {
     // the module already, which means that it might be loaded, but not
     // necessarily installed.
     $schema_store = \Drupal::keyValue('system.schema');
+    $entity_manager = \Drupal::entityManager();
     foreach ($module_list as $module) {
+
+      // Clean up all entity bundles (including field instances) of every entity
+      // type provided by the module that is being uninstalled.
+      foreach ($entity_manager->getDefinitions() as $entity_type_id => $entity_type) {
+        if ($entity_type->getProvider() == $module) {
+          foreach (array_keys($entity_manager->getBundleInfo($entity_type_id)) as $bundle) {
+            entity_invoke_bundle_hook('delete', $entity_type_id, $bundle);
+          }
+        }
+      }
+
       // Allow modules to react prior to the uninstallation of a module.
       $this->invokeAll('module_preuninstall', array($module));
 
@@ -978,7 +990,7 @@ public function uninstall(array $module_list, $uninstall_dependents = TRUE) {
       \Drupal::service('config.manager')->uninstall('module', $module);
 
       // Remove any entity schemas belonging to the module.
-      $entity_manager = \Drupal::entityManager();
+
       $schema = \Drupal::database()->schema();
       foreach ($entity_manager->getDefinitions() as $entity_type) {
         if ($entity_type->getProvider() == $module) {
diff --git a/core/modules/aggregator/config/install/entity.view_mode.aggregator_item.summary.yml b/core/modules/aggregator/config/install/core.entity_view_mode.aggregator_item.summary.yml
similarity index 100%
rename from core/modules/aggregator/config/install/entity.view_mode.aggregator_item.summary.yml
rename to core/modules/aggregator/config/install/core.entity_view_mode.aggregator_item.summary.yml
diff --git a/core/modules/block_content/config/install/entity.view_mode.block_content.full.yml b/core/modules/block_content/config/install/core.entity_view_mode.block_content.full.yml
similarity index 100%
rename from core/modules/block_content/config/install/entity.view_mode.block_content.full.yml
rename to core/modules/block_content/config/install/core.entity_view_mode.block_content.full.yml
diff --git a/core/modules/block_content/src/Tests/BlockContentCreationTest.php b/core/modules/block_content/src/Tests/BlockContentCreationTest.php
index e659088..e60b7a4 100644
--- a/core/modules/block_content/src/Tests/BlockContentCreationTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentCreationTest.php
@@ -24,7 +24,7 @@ class BlockContentCreationTest extends BlockContentTestBase {
    *
    * @var array
    */
-  public static $modules = array('block_content_test', 'dblog');
+  public static $modules = array('block_content_test', 'dblog', 'entity');
 
   /**
    * Sets the test up.
diff --git a/core/modules/book/config/install/entity.view_mode.node.print.yml b/core/modules/book/config/install/core.entity_view_mode.node.print.yml
similarity index 100%
rename from core/modules/book/config/install/entity.view_mode.node.print.yml
rename to core/modules/book/config/install/core.entity_view_mode.node.print.yml
diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index 5ce3ba9..0a0e263 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -20,7 +20,7 @@
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Routing\RouteMatchInterface;
-use Drupal\entity\Entity\EntityViewDisplay;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
 use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Field\FieldDefinitionInterface;
 use Drupal\Core\Render\Element;
diff --git a/core/modules/comment/config/install/entity.view_mode.comment.full.yml b/core/modules/comment/config/install/core.entity_view_mode.comment.full.yml
similarity index 100%
rename from core/modules/comment/config/install/entity.view_mode.comment.full.yml
rename to core/modules/comment/config/install/core.entity_view_mode.comment.full.yml
diff --git a/core/modules/comment/src/CommentViewBuilder.php b/core/modules/comment/src/CommentViewBuilder.php
index 6a4760b..6f366e1 100644
--- a/core/modules/comment/src/CommentViewBuilder.php
+++ b/core/modules/comment/src/CommentViewBuilder.php
@@ -14,7 +14,7 @@
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\Core\Entity\EntityTypeInterface;
 use Drupal\Core\Entity\EntityViewBuilder;
-use Drupal\entity\Entity\EntityViewDisplay;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
 use Drupal\Core\Language\LanguageManagerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
diff --git a/core/modules/datetime/src/Tests/DateTimeFieldTest.php b/core/modules/datetime/src/Tests/DateTimeFieldTest.php
index eefd3c3..5945f66 100644
--- a/core/modules/datetime/src/Tests/DateTimeFieldTest.php
+++ b/core/modules/datetime/src/Tests/DateTimeFieldTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\datetime\Tests;
 
-use Drupal\entity\Entity\EntityViewDisplay;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
 use Drupal\simpletest\WebTestBase;
 use Drupal\Core\Datetime\DrupalDateTime;
 
diff --git a/core/modules/entity/entity.info.yml b/core/modules/entity/entity.info.yml
index 770aec5..bb9f14f 100644
--- a/core/modules/entity/entity.info.yml
+++ b/core/modules/entity/entity.info.yml
@@ -4,4 +4,3 @@ description: 'Generic entity functionality.'
 package: Core
 version: VERSION
 core: 8.x
-required: true
diff --git a/core/modules/entity/entity.module b/core/modules/entity/entity.module
index d3590a1..528d16a 100644
--- a/core/modules/entity/entity.module
+++ b/core/modules/entity/entity.module
@@ -8,7 +8,6 @@
  * entity system.
  */
 
-use Drupal\Core\Config\Entity\ConfigEntityStorage;
 use Drupal\Core\Routing\RouteMatchInterface;
 
 /**
@@ -46,70 +45,26 @@ function entity_permission() {
 }
 
 /**
- * Implements hook_entity_bundle_rename().
+ * Implements hook_entity_type_alter().
  */
-function entity_entity_bundle_rename($entity_type_id, $bundle_old, $bundle_new) {
-  // Rename entity displays.
-  $entity_type = \Drupal::entityManager()->getDefinition('entity_view_display');
-  if ($bundle_old !== $bundle_new) {
-    $ids = \Drupal::configFactory()->listAll('entity.view_display.' . $entity_type_id . '.' . $bundle_old . '.');
-    foreach ($ids as $id) {
-      $id = ConfigEntityStorage::getIDFromConfigName($id, $entity_type->getConfigPrefix());
-      $display = entity_load('entity_view_display', $id);
-      $new_id = $entity_type_id . '.' . $bundle_new . '.' . $display->mode;
-      $display->set('id', $new_id);
-      $display->bundle = $bundle_new;
-      $display->save();
-    }
-  }
+function entity_entity_type_alter(array &$entity_types) {
+  /** @var $entity_types \Drupal\Core\Entity\EntityTypeInterface[] */
+  $form_mode = $entity_types['form_mode'];
+  $form_mode->setListBuilderClass('Drupal\entity\EntityFormModeListBuilder');
+  $form_mode->setFormClass('add', 'Drupal\entity\Form\EntityFormModeAddForm');
+  $form_mode->setFormClass('edit', 'Drupal\entity\Form\EntityFormModeEditForm');
+  $form_mode->setFormClass('delete', 'Drupal\entity\Form\EntityFormModeDeleteForm');
+  $form_mode->set('admin_permission', 'administer display modes');
+  $form_mode->setLinkTemplate('delete-form', 'entity.form_mode.delete_form');
+  $form_mode->setLinkTemplate('edit-form', 'entity.form_mode.edit_form');
 
-  // Rename entity form displays.
-  $entity_type = \Drupal::entityManager()->getDefinition('entity_form_display');
-  if ($bundle_old !== $bundle_new) {
-    $ids = \Drupal::configFactory()->listAll('entity.form_display.' . $entity_type_id . '.' . $bundle_old . '.');
-    foreach ($ids as $id) {
-      $id = ConfigEntityStorage::getIDFromConfigName($id, $entity_type->getConfigPrefix());
-      $form_display = entity_load('entity_form_display', $id);
-      $new_id = $entity_type_id . '.' . $bundle_new . '.' . $form_display->mode;
-      $form_display->set('id', $new_id);
-      $form_display->bundle = $bundle_new;
-      $form_display->save();
-    }
-  }
+  $view_mode = $entity_types['view_mode'];
+  $view_mode->setListBuilderClass('Drupal\entity\EntityDisplayModeListBuilder');
+  $view_mode->setFormClass('add', 'Drupal\entity\Form\EntityDisplayModeAddForm');
+  $view_mode->setFormClass('edit', 'Drupal\entity\Form\EntityDisplayModeEditForm');
+  $view_mode->setFormClass('delete', 'Drupal\entity\Form\EntityDisplayModeDeleteForm');
+  $view_mode->set('admin_permission', 'administer display modes');
+  $view_mode->setLinkTemplate('delete-form', 'entity.view_mode.delete_form');
+  $view_mode->setLinkTemplate('edit-form', 'entity.view_mode.edit_form');
 }
 
-/**
- * Implements hook_entity_bundle_delete().
- */
-function entity_entity_bundle_delete($entity_type_id, $bundle) {
-  // Remove entity displays of the deleted bundle.
-  $entity_type = \Drupal::entityManager()->getDefinition('entity_view_display');
-  $ids = \Drupal::configFactory()->listAll('entity.view_display.' . $entity_type_id . '.' . $bundle . '.');
-  foreach ($ids as &$id) {
-    $id = ConfigEntityStorage::getIDFromConfigName($id, $entity_type->getConfigPrefix());
-  }
-  entity_delete_multiple('entity_view_display', $ids);
-
-  // Remove entity form displays of the deleted bundle.
-  $entity_type = \Drupal::entityManager()->getDefinition('entity_form_display');
-  $ids = \Drupal::configFactory()->listAll('entity.form_display.' . $entity_type_id . '.' . $bundle . '.');
-  foreach ($ids as &$id) {
-    $id = ConfigEntityStorage::getIDFromConfigName($id, $entity_type->getConfigPrefix());
-  }
-  entity_delete_multiple('entity_form_display', $ids);
-}
-
-/**
- * Implements hook_module_preuninstall().
- */
-function entity_module_preuninstall($module) {
-  // Clean up all entity bundles (including field instances) of every entity
-  // type provided by the module that is being uninstalled.
-  foreach (\Drupal::entityManager()->getDefinitions() as $entity_type_id => $entity_type) {
-    if ($entity_type->getProvider() == $module) {
-      foreach (array_keys(entity_get_bundles($entity_type_id)) as $bundle) {
-        entity_invoke_bundle_hook('delete', $entity_type_id, $bundle);
-      }
-    }
-  }
-}
diff --git a/core/modules/entity/src/Tests/EntityDisplayModeTest.php b/core/modules/entity/src/Tests/EntityDisplayModeTest.php
index 4373fd0..0034120 100644
--- a/core/modules/entity/src/Tests/EntityDisplayModeTest.php
+++ b/core/modules/entity/src/Tests/EntityDisplayModeTest.php
@@ -21,7 +21,7 @@ class EntityDisplayModeTest extends WebTestBase {
    *
    * @var array
    */
-  public static $modules = array('entity_test');
+  public static $modules = array('entity_test', 'entity');
 
   /**
    * Tests the EntityViewMode user interface.
diff --git a/core/modules/entity/src/Tests/EntityDisplayTest.php b/core/modules/entity/src/Tests/EntityDisplayTest.php
index 1e6d05d..c87c853 100644
--- a/core/modules/entity/src/Tests/EntityDisplayTest.php
+++ b/core/modules/entity/src/Tests/EntityDisplayTest.php
@@ -83,7 +83,7 @@ public function testEntityDisplayCRUD() {
     $new_display->save();
     $new_display = entity_load('entity_view_display', $new_display->id());
     $dependencies = $new_display->calculateDependencies();
-    $this->assertEqual(array('entity' => array('entity.view_mode.entity_test.other_view_mode'), 'module' => array('entity_test')), $dependencies);
+    $this->assertEqual(array('entity' => array('core.entity_view_mode.entity_test.other_view_mode'), 'module' => array('entity_test')), $dependencies);
     $this->assertEqual($new_display->targetEntityType, $display->targetEntityType);
     $this->assertEqual($new_display->bundle, $display->bundle);
     $this->assertEqual($new_display->mode, 'other_view_mode');
@@ -235,7 +235,7 @@ public function testBaseFieldComponent() {
     // Check that saving the display only writes data for fields whose display
     // is configurable.
     $display->save();
-    $config = \Drupal::config('entity.view_display.' . $display->id());
+    $config = \Drupal::config('core.entity_view_display.' . $display->id());
     $data = $config->get();
     $this->assertFalse(isset($data['content']['test_no_display']));
     $this->assertFalse(isset($data['hidden']['test_no_display']));
diff --git a/core/modules/entity/src/Tests/EntityFormDisplayTest.php b/core/modules/entity/src/Tests/EntityFormDisplayTest.php
index ee7eb9d..1705370 100644
--- a/core/modules/entity/src/Tests/EntityFormDisplayTest.php
+++ b/core/modules/entity/src/Tests/EntityFormDisplayTest.php
@@ -148,7 +148,7 @@ public function testBaseFieldComponent() {
     // Check that saving the display only writes data for fields whose display
     // is configurable.
     $display->save();
-    $config = \Drupal::config('entity.form_display.' . $display->id());
+    $config = \Drupal::config('core.entity_form_display.' . $display->id());
     $data = $config->get();
     $this->assertFalse(isset($data['content']['test_no_display']));
     $this->assertFalse(isset($data['hidden']['test_no_display']));
diff --git a/core/modules/field/field.api.php b/core/modules/field/field.api.php
index 8af955f..d905c69 100644
--- a/core/modules/field/field.api.php
+++ b/core/modules/field/field.api.php
@@ -119,7 +119,7 @@ function hook_field_storage_config_update_forbid(\Drupal\field\FieldStorageConfi
  * Widgets are @link forms_api_reference.html Form API @endlink
  * elements with additional processing capabilities. The methods of the
  * WidgetInterface object are typically called by respective methods in the
- * \Drupal\entity\Entity\EntityFormDisplay class.
+ * \Drupal\Core\Entity\Entity\EntityFormDisplay class.
  *
  * @see field
  * @see field_types
diff --git a/core/modules/field/tests/modules/field_test/src/Form/NestedEntityTestForm.php b/core/modules/field/tests/modules/field_test/src/Form/NestedEntityTestForm.php
index ea5a30e..b1f9d1c 100644
--- a/core/modules/field/tests/modules/field_test/src/Form/NestedEntityTestForm.php
+++ b/core/modules/field/tests/modules/field_test/src/Form/NestedEntityTestForm.php
@@ -10,7 +10,7 @@
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Form\FormBase;
 use Drupal\Core\Form\FormStateInterface;
-use Drupal\entity\Entity\EntityFormDisplay;
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
 
 /**
  * Provides a form for field_test routes.
diff --git a/core/modules/field_ui/field_ui.module b/core/modules/field_ui/field_ui.module
index 400fb21..f3ca61e 100644
--- a/core/modules/field_ui/field_ui.module
+++ b/core/modules/field_ui/field_ui.module
@@ -9,7 +9,7 @@
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Render\Element;
 use Drupal\Core\Routing\RouteMatchInterface;
-use Drupal\entity\EntityViewModeInterface;
+use Drupal\Core\Entity\EntityViewModeInterface;
 use Drupal\field_ui\FieldUI;
 use Drupal\field_ui\Plugin\Derivative\FieldUiLocalTask;
 
diff --git a/core/modules/forum/config/install/entity.form_display.taxonomy_term.forums.default.yml b/core/modules/forum/config/install/core.entity_form_display.taxonomy_term.forums.default.yml
similarity index 100%
rename from core/modules/forum/config/install/entity.form_display.taxonomy_term.forums.default.yml
rename to core/modules/forum/config/install/core.entity_form_display.taxonomy_term.forums.default.yml
diff --git a/core/modules/forum/config/install/entity.view_display.taxonomy_term.forums.default.yml b/core/modules/forum/config/install/core.entity_view_display.taxonomy_term.forums.default.yml
similarity index 100%
rename from core/modules/forum/config/install/entity.view_display.taxonomy_term.forums.default.yml
rename to core/modules/forum/config/install/core.entity_view_display.taxonomy_term.forums.default.yml
diff --git a/core/modules/migrate/tests/src/destination/PerComponentEntityDisplayTest.php b/core/modules/migrate/tests/src/destination/PerComponentEntityDisplayTest.php
index ac26f3a..4708179 100644
--- a/core/modules/migrate/tests/src/destination/PerComponentEntityDisplayTest.php
+++ b/core/modules/migrate/tests/src/destination/PerComponentEntityDisplayTest.php
@@ -33,7 +33,7 @@ public function testImport() {
     foreach ($values as $key => $value) {
       $row->setDestinationProperty($key, $value);
     }
-    $entity = $this->getMockBuilder('Drupal\entity\Entity\EntityViewDisplay')
+    $entity = $this->getMockBuilder('Drupal\Core\Entity\Entity\EntityViewDisplay')
       ->disableOriginalConstructor()
       ->getMock();
     $entity->expects($this->once())
diff --git a/core/modules/migrate/tests/src/destination/PerComponentEntityFormDisplayTest.php b/core/modules/migrate/tests/src/destination/PerComponentEntityFormDisplayTest.php
index d1aa648..e2504a8 100644
--- a/core/modules/migrate/tests/src/destination/PerComponentEntityFormDisplayTest.php
+++ b/core/modules/migrate/tests/src/destination/PerComponentEntityFormDisplayTest.php
@@ -33,7 +33,7 @@ public function testImport() {
     foreach ($values as $key => $value) {
       $row->setDestinationProperty($key, $value);
     }
-    $entity = $this->getMockBuilder('Drupal\entity\Entity\EntityFormDisplay')
+    $entity = $this->getMockBuilder('Drupal\Core\Entity\Entity\EntityFormDisplay')
       ->disableOriginalConstructor()
       ->getMock();
     $entity->expects($this->once())
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplaySubjectTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplaySubjectTest.php
index 7922ae9..2fac12e 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplaySubjectTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplaySubjectTest.php
@@ -11,7 +11,7 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Upgrade comment subject variable to entity.form_display.comment.*.default.yml
+ * Upgrade comment subject variable to core.entity_form_display.comment.*.default.yml
  *
  * @group migrate_drupal
  */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplayTest.php
index 47efbfc..f0b3dc5 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplayTest.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate_drupal\Tests\d6;
 
 /**
- * Upgrade comment variables to entity.form_display.node.*.default.yml.
+ * Upgrade comment variables to core.entity_form_display.node.*.default.yml.
  *
  * @group migrate_drupal
  */
diff --git a/core/modules/node/config/install/entity.view_mode.node.full.yml b/core/modules/node/config/install/core.entity_view_mode.node.full.yml
similarity index 100%
rename from core/modules/node/config/install/entity.view_mode.node.full.yml
rename to core/modules/node/config/install/core.entity_view_mode.node.full.yml
diff --git a/core/modules/node/config/install/entity.view_mode.node.rss.yml b/core/modules/node/config/install/core.entity_view_mode.node.rss.yml
similarity index 100%
rename from core/modules/node/config/install/entity.view_mode.node.rss.yml
rename to core/modules/node/config/install/core.entity_view_mode.node.rss.yml
diff --git a/core/modules/node/config/install/entity.view_mode.node.search_index.yml b/core/modules/node/config/install/core.entity_view_mode.node.search_index.yml
similarity index 100%
rename from core/modules/node/config/install/entity.view_mode.node.search_index.yml
rename to core/modules/node/config/install/core.entity_view_mode.node.search_index.yml
diff --git a/core/modules/node/config/install/entity.view_mode.node.search_result.yml b/core/modules/node/config/install/core.entity_view_mode.node.search_result.yml
similarity index 100%
rename from core/modules/node/config/install/entity.view_mode.node.search_result.yml
rename to core/modules/node/config/install/core.entity_view_mode.node.search_result.yml
diff --git a/core/modules/node/config/install/entity.view_mode.node.teaser.yml b/core/modules/node/config/install/core.entity_view_mode.node.teaser.yml
similarity index 100%
rename from core/modules/node/config/install/entity.view_mode.node.teaser.yml
rename to core/modules/node/config/install/core.entity_view_mode.node.teaser.yml
diff --git a/core/modules/node/src/Tests/NodeTypeRenameConfigImportTest.php b/core/modules/node/src/Tests/NodeTypeRenameConfigImportTest.php
index ca6e476..a0e18c5 100644
--- a/core/modules/node/src/Tests/NodeTypeRenameConfigImportTest.php
+++ b/core/modules/node/src/Tests/NodeTypeRenameConfigImportTest.php
@@ -71,9 +71,9 @@ public function testConfigurationRename() {
     // @see \Drupal\node\Entity\NodeType::postSave()
     $expected = array(
       'node.type.' . $active_type . '::node.type.' . $staged_type,
-      'entity.form_display.node.' . $active_type . '.default::entity.form_display.node.' . $staged_type . '.default',
-      'entity.view_display.node.' . $active_type . '.default::entity.view_display.node.' . $staged_type . '.default',
-      'entity.view_display.node.' . $active_type . '.teaser::entity.view_display.node.' . $staged_type . '.teaser',
+      'core.entity_form_display.node.' . $active_type . '.default::core.entity_form_display.node.' . $staged_type . '.default',
+      'core.entity_view_display.node.' . $active_type . '.default::core.entity_view_display.node.' . $staged_type . '.default',
+      'core.entity_view_display.node.' . $active_type . '.teaser::core.entity_view_display.node.' . $staged_type . '.teaser',
       'field.instance.node.' . $active_type . '.body::field.instance.node.' . $staged_type . '.body',
     );
     $renames = $this->configImporter()->getUnprocessedConfiguration('rename');
diff --git a/core/modules/quickedit/src/Form/QuickEditFieldForm.php b/core/modules/quickedit/src/Form/QuickEditFieldForm.php
index 3b4a5ee..a5c4b38 100644
--- a/core/modules/quickedit/src/Form/QuickEditFieldForm.php
+++ b/core/modules/quickedit/src/Form/QuickEditFieldForm.php
@@ -15,7 +15,7 @@
 use Drupal\Core\Form\FormBase;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Render\Element;
-use Drupal\entity\Entity\EntityFormDisplay;
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
 use Drupal\user\TempStoreFactory;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
diff --git a/core/modules/quickedit/src/MetadataGenerator.php b/core/modules/quickedit/src/MetadataGenerator.php
index 1ae7975..c510bf1 100644
--- a/core/modules/quickedit/src/MetadataGenerator.php
+++ b/core/modules/quickedit/src/MetadataGenerator.php
@@ -12,7 +12,7 @@
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\quickedit\Access\EditEntityFieldAccessCheckInterface;
-use Drupal\entity\Entity\EntityViewDisplay;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
 
 /**
  * Generates in-place editing metadata for an entity field.
diff --git a/core/modules/system/tests/modules/entity_test/config/install/entity.view_mode.entity_test.full.yml b/core/modules/system/tests/modules/entity_test/config/install/core.entity_view_mode.entity_test.full.yml
similarity index 100%
rename from core/modules/system/tests/modules/entity_test/config/install/entity.view_mode.entity_test.full.yml
rename to core/modules/system/tests/modules/entity_test/config/install/core.entity_view_mode.entity_test.full.yml
diff --git a/core/modules/system/tests/modules/entity_test/config/install/entity.view_mode.entity_test.test.yml b/core/modules/system/tests/modules/entity_test/config/install/core.entity_view_mode.entity_test.test.yml
similarity index 100%
rename from core/modules/system/tests/modules/entity_test/config/install/entity.view_mode.entity_test.test.yml
rename to core/modules/system/tests/modules/entity_test/config/install/core.entity_view_mode.entity_test.test.yml
diff --git a/core/modules/system/tests/modules/entity_test/entity_test.module b/core/modules/system/tests/modules/entity_test/entity_test.module
index 6b293d1..af3e77f 100644
--- a/core/modules/system/tests/modules/entity_test/entity_test.module
+++ b/core/modules/system/tests/modules/entity_test/entity_test.module
@@ -12,7 +12,7 @@
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Session\AccountInterface;
-use Drupal\entity\Entity\EntityFormDisplay;
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
 
 /**
  * Filter that limits test entity list to revisable ones.
diff --git a/core/modules/taxonomy/config/install/entity.view_mode.taxonomy_term.full.yml b/core/modules/taxonomy/config/install/core.entity_view_mode.taxonomy_term.full.yml
similarity index 100%
rename from core/modules/taxonomy/config/install/entity.view_mode.taxonomy_term.full.yml
rename to core/modules/taxonomy/config/install/core.entity_view_mode.taxonomy_term.full.yml
diff --git a/core/modules/user/config/install/entity.form_mode.user.register.yml b/core/modules/user/config/install/core.entity_form_mode.user.register.yml
similarity index 100%
rename from core/modules/user/config/install/entity.form_mode.user.register.yml
rename to core/modules/user/config/install/core.entity_form_mode.user.register.yml
diff --git a/core/modules/user/config/install/entity.view_mode.user.compact.yml b/core/modules/user/config/install/core.entity_view_mode.user.compact.yml
similarity index 100%
rename from core/modules/user/config/install/entity.view_mode.user.compact.yml
rename to core/modules/user/config/install/core.entity_view_mode.user.compact.yml
diff --git a/core/modules/user/config/install/entity.view_mode.user.full.yml b/core/modules/user/config/install/core.entity_view_mode.user.full.yml
similarity index 100%
rename from core/modules/user/config/install/entity.view_mode.user.full.yml
rename to core/modules/user/config/install/core.entity_view_mode.user.full.yml
diff --git a/core/modules/user/user.info.yml b/core/modules/user/user.info.yml
index dbdb520..45a421a 100644
--- a/core/modules/user/user.info.yml
+++ b/core/modules/user/user.info.yml
@@ -6,5 +6,3 @@ version: VERSION
 core: 8.x
 required: true
 configure: user.admin_index
-dependencies:
-  - entity
diff --git a/core/profiles/standard/config/install/entity.form_display.node.article.default.yml b/core/profiles/standard/config/install/core.entity_form_display.node.article.default.yml
similarity index 100%
rename from core/profiles/standard/config/install/entity.form_display.node.article.default.yml
rename to core/profiles/standard/config/install/core.entity_form_display.node.article.default.yml
diff --git a/core/profiles/standard/config/install/entity.form_display.user.user.default.yml b/core/profiles/standard/config/install/core.entity_form_display.user.user.default.yml
similarity index 100%
rename from core/profiles/standard/config/install/entity.form_display.user.user.default.yml
rename to core/profiles/standard/config/install/core.entity_form_display.user.user.default.yml
diff --git a/core/profiles/standard/config/install/entity.view_display.node.article.default.yml b/core/profiles/standard/config/install/core.entity_view_display.node.article.default.yml
similarity index 100%
rename from core/profiles/standard/config/install/entity.view_display.node.article.default.yml
rename to core/profiles/standard/config/install/core.entity_view_display.node.article.default.yml
diff --git a/core/profiles/standard/config/install/entity.view_display.node.article.teaser.yml b/core/profiles/standard/config/install/core.entity_view_display.node.article.teaser.yml
similarity index 95%
rename from core/profiles/standard/config/install/entity.view_display.node.article.teaser.yml
rename to core/profiles/standard/config/install/core.entity_view_display.node.article.teaser.yml
index d22ab13..114bc32 100644
--- a/core/profiles/standard/config/install/entity.view_display.node.article.teaser.yml
+++ b/core/profiles/standard/config/install/core.entity_view_display.node.article.teaser.yml
@@ -27,7 +27,7 @@ content:
     label: above
 dependencies:
   entity:
-    - entity.view_mode.node.teaser
+    - core.entity_view_mode.node.teaser
     - field.instance.node.article.body
     - field.instance.node.article.field_image
     - field.instance.node.article.field_tags
diff --git a/core/profiles/standard/config/install/entity.view_display.user.user.compact.yml b/core/profiles/standard/config/install/core.entity_view_display.user.user.compact.yml
similarity index 89%
rename from core/profiles/standard/config/install/entity.view_display.user.user.compact.yml
rename to core/profiles/standard/config/install/core.entity_view_display.user.user.compact.yml
index 2b02542..410f3f3 100644
--- a/core/profiles/standard/config/install/entity.view_display.user.user.compact.yml
+++ b/core/profiles/standard/config/install/core.entity_view_display.user.user.compact.yml
@@ -16,7 +16,7 @@ hidden:
 status: true
 dependencies:
   entity:
-    - entity.view_mode.user.compact
+    - core.entity_view_mode.user.compact
   module:
     - image
     - user
diff --git a/core/profiles/standard/config/install/entity.view_display.user.user.default.yml b/core/profiles/standard/config/install/core.entity_view_display.user.user.default.yml
similarity index 100%
rename from core/profiles/standard/config/install/entity.view_display.user.user.default.yml
rename to core/profiles/standard/config/install/core.entity_view_display.user.user.default.yml
diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/EntityDisplayModeBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/EntityDisplayModeBaseUnitTest.php
index 411117b..c096cfa 100644
--- a/core/tests/Drupal/Tests/Core/Config/Entity/EntityDisplayModeBaseUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/Entity/EntityDisplayModeBaseUnitTest.php
@@ -11,7 +11,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * @coversDefaultClass \Drupal\entity\EntityDisplayModeBase
+ * @coversDefaultClass \Drupal\Core\Entity\EntityDisplayModeBase
  * @group Config
  */
 class EntityDisplayModeBaseUnitTest extends UnitTestCase {
@@ -19,7 +19,7 @@ class EntityDisplayModeBaseUnitTest extends UnitTestCase {
   /**
    * The entity under test.
    *
-   * @var \Drupal\entity\EntityDisplayModeBase|\PHPUnit_Framework_MockObject_MockObject
+   * @var \Drupal\Core\Entity\EntityDisplayModeBase|\PHPUnit_Framework_MockObject_MockObject
    */
   protected $entity;
 
@@ -94,7 +94,7 @@ public function testCalculateDependencies() {
       ->with($this->entityType)
       ->will($this->returnValue($this->entityInfo));
 
-    $this->entity = $this->getMockBuilder('\Drupal\entity\EntityDisplayModeBase')
+    $this->entity = $this->getMockBuilder('\Drupal\Core\Entity\EntityDisplayModeBase')
       ->setConstructorArgs(array($values, $this->entityType))
       ->setMethods(array('getFilterFormat'))
       ->getMock();
