diff --git a/core/includes/entity.inc b/core/includes/entity.inc
index e91eda7..8403131 100644
--- a/core/includes/entity.inc
+++ b/core/includes/entity.inc
@@ -639,7 +639,7 @@ function entity_view_multiple(array $entities, $view_mode, $langcode = NULL, $re
  *   The view mode, or 'default' to retrieve the 'default' display object for
  *   this bundle.
  *
- * @return \Drupal\entity\Entity\EntityDisplay
+ * @return \Drupal\Core\Entity\Display\EntityViewDisplayInterface
  *   The display object associated to the view mode.
  */
 function entity_get_display($entity_type, $bundle, $view_mode) {
@@ -682,7 +682,7 @@ function entity_get_display($entity_type, $bundle, $view_mode) {
  * @param string $view_mode
  *  The view mode being rendered.
  *
- * @return \Drupal\entity\Entity\EntityDisplay
+ * @return \Drupal\Core\Entity\Display\EntityViewDisplayInterface
  *   The display object that should be used to render the entity.
  *
  * @see entity_get_display().
@@ -743,7 +743,7 @@ function entity_get_render_display(EntityInterface $entity, $view_mode) {
  * @param string $form_mode
  *   The form mode.
  *
- * @return \Drupal\entity\Entity\EntityFormDisplay
+ * @return \Drupal\Core\Entity\Display\EntityFormDisplayInterface
  *   The EntityFormDisplay object associated to the form mode.
  */
 function entity_get_form_display($entity_type, $bundle, $form_mode) {
@@ -782,7 +782,7 @@ function entity_get_form_display($entity_type, $bundle, $form_mode) {
  * @param string $form_mode
  *   The form mode being rendered.
  *
- * @return \Drupal\entity\Entity\EntityFormDisplay
+ * @return \Drupal\Core\Entity\Display\EntityFormDisplayInterface
  *   The form display object that should be used to render the entity form.
  *
  * @see entity_get_form_display().
diff --git a/core/lib/Drupal/Core/Entity/EntityFormController.php b/core/lib/Drupal/Core/Entity/EntityFormController.php
index 1e75646..8003b78 100644
--- a/core/lib/Drupal/Core/Entity/EntityFormController.php
+++ b/core/lib/Drupal/Core/Entity/EntityFormController.php
@@ -7,12 +7,9 @@
 
 namespace Drupal\Core\Entity;
 
+use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
 use Drupal\Core\Form\FormBase;
-use Drupal\Core\TypedData\TranslatableInterface;
-use Drupal\entity\EntityFormDisplayInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
-use Drupal\Core\Language\Language;
-use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Base class for entity form controllers.
diff --git a/core/lib/Drupal/Core/Entity/EntityFormControllerInterface.php b/core/lib/Drupal/Core/Entity/EntityFormControllerInterface.php
index 6ad106b..525fd7c 100644
--- a/core/lib/Drupal/Core/Entity/EntityFormControllerInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityFormControllerInterface.php
@@ -7,10 +7,10 @@
 
 namespace Drupal\Core\Entity;
 
+use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Form\BaseFormIdInterface;
 use Drupal\Core\StringTranslation\TranslationInterface;
-use Drupal\entity\EntityFormDisplayInterface;
 
 /**
  * Defines a common interface for entity form controller classes.
@@ -64,7 +64,7 @@ public function getOperation();
    * @param array $form_state
    *   An associative array containing the current state of the form.
    *
-   * @return \Drupal\entity\EntityFormDisplayInterface
+   * @return \Drupal\Core\Entity\Display\EntityFormDisplayInterface.
    *   The current form display.
    */
   public function getFormDisplay(array $form_state);
@@ -75,7 +75,7 @@ public function getFormDisplay(array $form_state);
    * Sets the form display which will be used for populating form element
    * defaults.
    *
-   * @param \Drupal\entity\EntityFormDisplayInterface $form_display
+   * @param \Drupal\Core\Entity\Display\EntityFormDisplayInterface $form_display
    *   The form display that the current form operates with.
    * @param array $form_state
    *   An associative array containing the current state of the form.
diff --git a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php
index 2680e6f..144bd7e 100644
--- a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php
+++ b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php
@@ -7,9 +7,8 @@
 
 namespace Drupal\Core\Entity;
 
-use Drupal\Core\Entity\EntityManager;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Language\Language;
-use Drupal\entity\Entity\EntityDisplay;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -163,7 +162,7 @@ protected function getBuildDefaults(EntityInterface $entity, $view_mode, $langco
    *   The render array that is being created.
    * @param \Drupal\Core\Entity\EntityInterface $entity
    *   The entity to be prepared.
-   * @param \Drupal\entity\Entity\EntityDisplay $display
+   * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
    *   The entity_display object holding the display options configured for
    *   the entity components.
    * @param string $view_mode
@@ -172,7 +171,7 @@ protected function getBuildDefaults(EntityInterface $entity, $view_mode, $langco
    *   (optional) For which language the entity should be prepared, defaults to
    *   the current content language.
    */
-  protected function alterBuild(array &$build, EntityInterface $entity, EntityDisplay $display, $view_mode, $langcode = NULL) { }
+  protected function alterBuild(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode, $langcode = NULL) { }
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/block/custom_block/lib/Drupal/custom_block/CustomBlockViewBuilder.php b/core/modules/block/custom_block/lib/Drupal/custom_block/CustomBlockViewBuilder.php
index 1477345..4d5a4c2 100644
--- a/core/modules/block/custom_block/lib/Drupal/custom_block/CustomBlockViewBuilder.php
+++ b/core/modules/block/custom_block/lib/Drupal/custom_block/CustomBlockViewBuilder.php
@@ -7,9 +7,9 @@
 
 namespace Drupal\custom_block;
 
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityViewBuilder;
-use Drupal\entity\Entity\EntityDisplay;
 
 /**
  * Render controller for custom blocks.
@@ -19,7 +19,7 @@ class CustomBlockViewBuilder extends EntityViewBuilder {
   /**
    * {@inheritdoc}
    */
-  protected function alterBuild(array &$build, EntityInterface $entity, EntityDisplay $display, $view_mode, $langcode = NULL) {
+  protected function alterBuild(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode, $langcode = NULL) {
     parent::alterBuild($build, $entity, $display, $view_mode, $langcode);
     // Add contextual links for this custom block.
     if (!empty($entity->id->value) && $view_mode == 'full') {
diff --git a/core/modules/book/book.module b/core/modules/book/book.module
index 21f9bb0..ec64398 100644
--- a/core/modules/book/book.module
+++ b/core/modules/book/book.module
@@ -8,10 +8,8 @@
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\node\NodeTypeInterface;
 use Drupal\Core\Language\Language;
-use Drupal\entity\Entity\EntityDisplay;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Template\Attribute;
-use Drupal\menu_link\Entity\MenuLink;
-use Drupal\menu_link\MenuLinkStorageController;
 use Drupal\node\NodeInterface;
 
 /**
@@ -480,7 +478,7 @@ function book_node_load($nodes, $types) {
 /**
  * Implements hook_node_view().
  */
-function book_node_view(EntityInterface $node, EntityDisplay $display, $view_mode) {
+function book_node_view(EntityInterface $node, EntityViewDisplayInterface $display, $view_mode) {
   if ($view_mode == 'full') {
     if (!empty($node->book['bid']) && empty($node->in_preview)) {
       $book_navigation = array( '#theme' => 'book_navigation', '#book_link' => $node->book);
diff --git a/core/modules/comment/comment.api.php b/core/modules/comment/comment.api.php
index e43c577..e85544a 100644
--- a/core/modules/comment/comment.api.php
+++ b/core/modules/comment/comment.api.php
@@ -85,7 +85,7 @@ function hook_comment_load(Drupal\comment\Comment $comments) {
  *
  * @param \Drupal\comment\Entity\Comment $comment $comment
  *   Passes in the comment the action is being performed on.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   comment components.
  * @param $view_mode
@@ -95,7 +95,7 @@ function hook_comment_load(Drupal\comment\Comment $comments) {
  *
  * @see hook_entity_view()
  */
-function hook_comment_view(\Drupal\comment\Entity\Comment $comment, \Drupal\entity\Entity\EntityDisplay $display, $view_mode, $langcode) {
+function hook_comment_view(\Drupal\comment\Entity\Comment $comment, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display, $view_mode, $langcode) {
   // Only do the extra work if the component is configured to be displayed.
   // This assumes a 'mymodule_addition' extra field has been defined for the
   // node type in hook_field_extra_fields().
@@ -123,14 +123,14 @@ function hook_comment_view(\Drupal\comment\Entity\Comment $comment, \Drupal\enti
  *   A renderable array representing the comment.
  * @param \Drupal\comment\Entity\Comment $comment
  *   The comment being rendered.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   comment components.
  *
  * @see comment_view()
  * @see hook_entity_view_alter()
  */
-function hook_comment_view_alter(&$build, \Drupal\comment\Entity\Comment $comment, \Drupal\entity\Entity\EntityDisplay $display) {
+function hook_comment_view_alter(&$build, \Drupal\comment\Entity\Comment $comment, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display) {
   // Check for the existence of a field added by another module.
   if ($build['#view_mode'] == 'full' && isset($build['an_additional_field'])) {
     // Change its weight.
diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index 6fcbc2b..5c5313b 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -14,7 +14,7 @@
 use Drupal\Core\Entity\EntityChangedInterface;
 use Drupal\comment\CommentInterface;
 use Drupal\comment\Entity\Comment;
-use Drupal\entity\Entity\EntityDisplay;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\field\FieldInstanceInterface;
 use Drupal\field\FieldInterface;
 use Drupal\file\FileInterface;
@@ -466,7 +466,7 @@ function theme_comment_block($variables) {
 /**
  * Implements hook_entity_view().
  */
-function comment_entity_view(EntityInterface $entity, EntityDisplay $display, $view_mode, $langcode) {
+function comment_entity_view(EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode, $langcode) {
   if ($entity->entityType() != 'node') {
     // Comment links are only added to node entity type for backwards
     // compatibility. Should you require comment links for other entity types
@@ -604,7 +604,7 @@ function comment_entity_view(EntityInterface $entity, EntityDisplay $display, $v
 /**
  * Implements hook_node_view_alter().
  */
-function comment_node_view_alter(&$build, EntityInterface $node, EntityDisplay $display) {
+function comment_node_view_alter(&$build, EntityInterface $node, EntityViewDisplayInterface $display) {
   if (\Drupal::moduleHandler()->moduleExists('history')) {
     $build['#attributes']['data-history-node-id'] = $node->id();
   }
diff --git a/core/modules/comment/lib/Drupal/comment/CommentViewBuilder.php b/core/modules/comment/lib/Drupal/comment/CommentViewBuilder.php
index 2713d52..262ff61 100644
--- a/core/modules/comment/lib/Drupal/comment/CommentViewBuilder.php
+++ b/core/modules/comment/lib/Drupal/comment/CommentViewBuilder.php
@@ -9,12 +9,12 @@
 
 use Drupal\Core\Access\CsrfTokenGenerator;
 use Drupal\Core\Entity\EntityControllerInterface;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\Core\Entity\EntityViewBuilderInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Entity\EntityViewBuilder;
-use Drupal\entity\Entity\EntityDisplay;
 use Drupal\field\FieldInfo;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -223,7 +223,7 @@ protected function buildLinks(CommentInterface $entity, EntityInterface $comment
   /**
    * {@inheritdoc}
    */
-  protected function alterBuild(array &$build, EntityInterface $comment, EntityDisplay $display, $view_mode, $langcode = NULL) {
+  protected function alterBuild(array &$build, EntityInterface $comment, EntityViewDisplayInterface $display, $view_mode, $langcode = NULL) {
     parent::alterBuild($build, $comment, $display, $view_mode, $langcode);
     if (empty($comment->in_preview)) {
       $prefix = '';
diff --git a/core/modules/edit/edit.module b/core/modules/edit/edit.module
index 02ead20..7e803c4 100644
--- a/core/modules/edit/edit.module
+++ b/core/modules/edit/edit.module
@@ -12,10 +12,7 @@
  */
 
 use Drupal\Core\Entity\EntityInterface;
-use Drupal\edit\Form\EditFieldForm;
-use Drupal\Component\Utility\NestedArray;
-use Drupal\entity\Entity\EntityDisplay;
-use Drupal\user\TempStoreFactory;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 
 /**
  * Implements hook_menu().
@@ -197,7 +194,7 @@ function edit_preprocess_field(&$variables) {
 /**
  * Implements hook_entity_view_alter().
  */
-function edit_entity_view_alter(&$build, EntityInterface $entity, EntityDisplay $display) {
+function edit_entity_view_alter(&$build, EntityInterface $entity, EntityViewDisplayInterface $display) {
   $build['#attributes']['data-edit-entity-id'] = $entity->entityType() . '/' . $entity->id();
 }
 
diff --git a/core/modules/edit/tests/modules/edit_test.module b/core/modules/edit/tests/modules/edit_test.module
index 75d5e22..157350d 100644
--- a/core/modules/edit/tests/modules/edit_test.module
+++ b/core/modules/edit/tests/modules/edit_test.module
@@ -7,12 +7,12 @@
 
 use Drupal\Core\Language\Language;
 use Drupal\Core\Entity\EntityInterface;
-use Drupal\entity\Entity\EntityDisplay;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 
 /**
  * Implements hook_entity_view_alter().
  */
-function edit_test_entity_view_alter(&$build, EntityInterface $entity, EntityDisplay $display) {
+function edit_test_entity_view_alter(&$build, EntityInterface $entity, EntityViewDisplayInterface $display) {
   if ($entity->entityType() == 'node' && $entity->bundle() == 'article') {
     $build['pseudo'] = array(
       '#theme' => 'field',
diff --git a/core/modules/entity/lib/Drupal/entity/Entity/EntityDisplay.php b/core/modules/entity/lib/Drupal/entity/Entity/EntityDisplay.php
index e684a59..4cb3e7e 100644
--- a/core/modules/entity/lib/Drupal/entity/Entity/EntityDisplay.php
+++ b/core/modules/entity/lib/Drupal/entity/Entity/EntityDisplay.php
@@ -7,10 +7,9 @@
 
 namespace Drupal\entity\Entity;
 
-use Drupal\Core\Entity\Annotation\EntityType;
-use Drupal\Core\Annotation\Translation;
+use Drupal\Core\Config\Entity\ConfigEntityInterface;
+use Drupal\Core\Entity\Display\EntityDisplayInterface;
 use Drupal\entity\EntityDisplayBase;
-use Drupal\entity\EntityDisplayInterface;
 
 /**
  * Configuration entity that contains display options for all components of a
@@ -30,7 +29,7 @@
  *   }
  * )
  */
-class EntityDisplay extends EntityDisplayBase implements EntityDisplayInterface {
+class EntityDisplay extends EntityDisplayBase implements EntityDisplayInterface, ConfigEntityInterface {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php b/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php
index 461f7ce..13a3b70 100644
--- a/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php
+++ b/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php
@@ -7,10 +7,9 @@
 
 namespace Drupal\entity\Entity;
 
-use Drupal\Core\Entity\Annotation\EntityType;
-use Drupal\Core\Annotation\Translation;
+use Drupal\Core\Config\Entity\ConfigEntityInterface;
+use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
 use Drupal\entity\EntityDisplayBase;
-use Drupal\entity\EntityFormDisplayInterface;
 
 /**
  * Configuration entity that contains widget options for all components of a
@@ -30,7 +29,7 @@
  *   }
  * )
  */
-class EntityFormDisplay extends EntityDisplayBase implements EntityFormDisplayInterface, \Serializable {
+class EntityFormDisplay extends EntityDisplayBase implements EntityFormDisplayInterface, ConfigEntityInterface, \Serializable {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php b/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php
index 0278c58..b77a84c 100644
--- a/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php
+++ b/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php
@@ -8,12 +8,13 @@
 namespace Drupal\entity;
 
 use Drupal\Core\Config\Entity\ConfigEntityBase;
+use Drupal\Core\Entity\Display\EntityDisplayInterface;
 
 /**
  * Base class for config entity types that store configuration for entity forms
  * and displays.
  */
-abstract class EntityDisplayBase extends ConfigEntityBase implements EntityDisplayBaseInterface {
+abstract class EntityDisplayBase extends ConfigEntityBase implements EntityDisplayInterface {
 
   /**
    * Unique ID for the config entity.
diff --git a/core/modules/entity/lib/Drupal/entity/EntityDisplayBaseInterface.php b/core/modules/entity/lib/Drupal/entity/EntityDisplayBaseInterface.php
deleted file mode 100644
index 93fa3bb..0000000
--- a/core/modules/entity/lib/Drupal/entity/EntityDisplayBaseInterface.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\entity\EntityDisplayBaseInterface.
- */
-
-namespace Drupal\entity;
-
-use Drupal\Core\Config\Entity\ConfigEntityInterface;
-
-/**
- * Provides an interface defining an entity display entity.
- */
-interface EntityDisplayBaseInterface extends ConfigEntityInterface {
-
-  /**
-   * Creates a duplicate of the EntityDisplay object on a different view mode.
-   *
-   * The new object necessarily has the same $targetEntityType and $bundle
-   * properties than the original one.
-   *
-   * @param $view_mode
-   *   The view mode for the new object.
-   *
-   * @return \Drupal\entity\Entity\EntityDisplay
-   *   The new object.
-   */
-  public function createCopy($view_mode);
-
-  /**
-   * Gets the display options for all components.
-   *
-   * @return array
-   *   The array of display options, keyed by component name.
-   */
-  public function getComponents();
-
-  /**
-   * Gets the display options set for a component.
-   *
-   * @param string $name
-   *   The name of the component.
-   *
-   * @return array|null
-   *   The display options for the component, or NULL if the component is not
-   *   displayed.
-   */
-  public function getComponent($name);
-
-  /**
-   * Sets the display options for a component.
-   *
-   * @param string $name
-   *   The name of the component.
-   * @param array $options
-   *   The display options.
-   *
-   * @return \Drupal\entity\Entity\EntityDisplay
-   *   The EntityDisplay object.
-   */
-  public function setComponent($name, array $options = array());
-
-  /**
-   * Sets a component to be hidden.
-   *
-   * @param string $name
-   *   The name of the component.
-   *
-   * @return \Drupal\entity\Entity\EntityDisplay
-   *   The EntityDisplay object.
-   */
-  public function removeComponent($name);
-
-  /**
-   * Returns the highest weight of the components in the display.
-   *
-   * @return int|null
-   *   The highest weight of the components in the display, or NULL if the
-   *   display is empty.
-   */
-  public function getHighestWeight();
-
-  /**
-   * Returns the renderer plugin for a field (e.g. widget, formatter).
-   *
-   * @param string $field_name
-   *   The field name.
-   *
-   * @return \Drupal\Core\Field\PluginSettingsInterface|null
-   *   A widget or formatter plugin or NULL if the field does not exist.
-   */
-  public function getRenderer($field_name);
-
-}
diff --git a/core/modules/entity/lib/Drupal/entity/EntityDisplayInterface.php b/core/modules/entity/lib/Drupal/entity/EntityDisplayInterface.php
deleted file mode 100644
index 08d49c0..0000000
--- a/core/modules/entity/lib/Drupal/entity/EntityDisplayInterface.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\entity\EntityDisplayInterface.
- */
-
-namespace Drupal\entity;
-
-use Drupal\entity\EntityDisplayBaseInterface;
-
-/**
- * Provides an interface defining an entity display entity.
- */
-interface EntityDisplayInterface extends EntityDisplayBaseInterface {
-
-}
diff --git a/core/modules/entity/lib/Drupal/entity/EntityFormDisplayInterface.php b/core/modules/entity/lib/Drupal/entity/EntityFormDisplayInterface.php
deleted file mode 100644
index 7f6e61a..0000000
--- a/core/modules/entity/lib/Drupal/entity/EntityFormDisplayInterface.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\entity\EntityFormDisplayInterface.
- */
-
-namespace Drupal\entity;
-
-use Drupal\entity\EntityDisplayBaseInterface;
-
-/**
- * Provides an interface defining an entity display entity.
- */
-interface EntityFormDisplayInterface extends EntityDisplayBaseInterface {
-
-}
diff --git a/core/modules/field/field.deprecated.inc b/core/modules/field/field.deprecated.inc
index 8ac2bc2..52c3bb6 100644
--- a/core/modules/field/field.deprecated.inc
+++ b/core/modules/field/field.deprecated.inc
@@ -8,7 +8,7 @@
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\ContentEntityInterface;
 use Drupal\Core\Language\Language;
-use Drupal\entity\Entity\EntityDisplay;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\field\Field;
 
 
@@ -742,7 +742,7 @@ function field_attach_prepare_view($entity_type, array $entities, array $display
  *
  * @param \Drupal\Core\Entity\EntityInterface $entity
  *   The entity with fields to render.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity display object.
  * @param $langcode
  *   The language the field values are to be shown in. If no language is
@@ -756,7 +756,7 @@ function field_attach_prepare_view($entity_type, array $entities, array $display
  *
  * @deprecated as of Drupal 8.0. Use the entity system instead.
  */
-function field_attach_view(EntityInterface $entity, EntityDisplay $display, $langcode = NULL, array $options = array()) {
+function field_attach_view(EntityInterface $entity, EntityViewDisplayInterface $display, $langcode = NULL, array $options = array()) {
   // Determine the actual language code to display for each field, given the
   // language codes available in the field data.
   $options['langcode'] = field_language($entity, NULL, $langcode);
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
index 870df32..b339bd6 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
@@ -7,9 +7,8 @@
 
 namespace Drupal\field_ui;
 
-use Drupal\Component\Utility\NestedArray;
-use Drupal\entity\EntityDisplayBaseInterface;
 use Drupal\field\FieldInstanceInterface;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -49,7 +48,7 @@ public function buildForm(array $form, array &$form_state, $entity_type = NULL,
   /**
    * {@inheritdoc}
    */
-  protected function buildFieldRow($field_id, FieldInstanceInterface $instance, EntityDisplayBaseInterface $entity_display, array $form, array &$form_state) {
+  protected function buildFieldRow($field_id, FieldInstanceInterface $instance, EntityViewDisplayInterface $entity_display, array $form, array &$form_state) {
     $field_row = parent::buildFieldRow($field_id, $instance, $entity_display, $form, $form_state);
     $display_options = $entity_display->getComponent($field_id);
 
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php
index 06a4bdc..0efd38c 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php
@@ -8,11 +8,10 @@
 namespace Drupal\field_ui;
 
 use Drupal\Component\Plugin\PluginManagerBase;
+use Drupal\Core\Entity\Display\EntityDisplayInterface;
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\Core\Field\FieldTypePluginManager;
-use Drupal\entity\EntityDisplayBaseInterface;
 use Drupal\field\FieldInstanceInterface;
-use Drupal\field_ui\OverviewBase;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -209,7 +208,7 @@ public function buildForm(array $form, array &$form_state, $entity_type = NULL,
    *   The field ID.
    * @param \Drupal\field\FieldInstanceInterface $instance
    *   The field instance.
-   * @param \Drupal\entity\EntityDisplayBaseInterface $entity_display
+   * @param \Drupal\Core\Entity\Display\EntityDisplayInterface $entity_display
    *   The entity display.
    * @param array $form
    *   An associative array containing the structure of the form.
@@ -219,7 +218,7 @@ public function buildForm(array $form, array &$form_state, $entity_type = NULL,
    * @return array
    *   A table row array.
    */
-  protected function buildFieldRow($field_id, FieldInstanceInterface $instance, EntityDisplayBaseInterface $entity_display, array $form, array &$form_state) {
+  protected function buildFieldRow($field_id, FieldInstanceInterface $instance, EntityDisplayInterface $entity_display, array $form, array &$form_state) {
     $display_options = $entity_display->getComponent($field_id);
     $label = $instance->getFieldLabel();
 
@@ -385,7 +384,7 @@ protected function buildFieldRow($field_id, FieldInstanceInterface $instance, En
    *   The field ID.
    * @param array $extra_field
    *   The pseudo-field element.
-   * @param \Drupal\entity\EntityDisplayBaseInterface $entity_display
+   * @param \Drupal\Core\Entity\Display\EntityDisplayInterface $entity_display
    *   The entity display.
    *
    * @return array
@@ -623,7 +622,7 @@ public function multistepAjax($form, &$form_state) {
    * @param string $mode
    *   A view or form mode.
    *
-   * @return \Drupal\entity\EntityDisplayBaseInterface
+   * @return \Drupal\Core\Entity\Display\EntityDisplayInterface
    *   An entity display.
    */
   abstract protected function getEntityDisplay($mode);
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
index 0c4877c..eafcab0 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
@@ -8,7 +8,7 @@
 namespace Drupal\field_ui;
 
 use Drupal\Component\Utility\NestedArray;
-use Drupal\entity\EntityDisplayBaseInterface;
+use Drupal\Core\Entity\Display\EntityDisplayInterface;
 use Drupal\field\FieldInstanceInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -49,7 +49,7 @@ public function buildForm(array $form, array &$form_state, $entity_type = NULL,
   /**
    * {@inheritdoc}
    */
-  protected function buildFieldRow($field_id, FieldInstanceInterface $instance, EntityDisplayBaseInterface $entity_display, array $form, array &$form_state) {
+  protected function buildFieldRow($field_id, FieldInstanceInterface $instance, EntityDisplayInterface $entity_display, array $form, array &$form_state) {
     $field_row = parent::buildFieldRow($field_id, $instance, $entity_display, $form, $form_state);
 
     // Update the (invisible) title of the 'plugin' column.
diff --git a/core/modules/history/history.module b/core/modules/history/history.module
index 0dfad16..971053e 100644
--- a/core/modules/history/history.module
+++ b/core/modules/history/history.module
@@ -10,7 +10,7 @@
  */
 
 use Drupal\Core\Entity\EntityInterface;
-use Drupal\entity\Entity\EntityDisplay;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 
 /**
  * Entities changed before this time are always shown as read.
@@ -132,7 +132,7 @@ function history_cron() {
 /**
  * Implements hook_node_view_alter().
  */
-function history_node_view_alter(&$build, EntityInterface $node, EntityDisplay $display) {
+function history_node_view_alter(&$build, EntityInterface $node, EntityViewDisplayInterface $display) {
   // Update the history table, stating that this user viewed this node.
   if (($display->originalMode === 'full') && \Drupal::currentUser()->isAuthenticated()) {
     $build['#attached'] = array(
diff --git a/core/modules/node/lib/Drupal/node/NodeViewBuilder.php b/core/modules/node/lib/Drupal/node/NodeViewBuilder.php
index 036d283..3fd0820 100644
--- a/core/modules/node/lib/Drupal/node/NodeViewBuilder.php
+++ b/core/modules/node/lib/Drupal/node/NodeViewBuilder.php
@@ -7,9 +7,9 @@
 
 namespace Drupal\node;
 
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityViewBuilder;
-use Drupal\entity\Entity\EntityDisplay;
 
 /**
  * Render controller for nodes.
@@ -80,7 +80,7 @@ public function buildContent(array $entities, array $displays, $view_mode, $lang
   /**
    * {@inheritdoc}
    */
-  protected function alterBuild(array &$build, EntityInterface $entity, EntityDisplay $display, $view_mode, $langcode = NULL) {
+  protected function alterBuild(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode, $langcode = NULL) {
     parent::alterBuild($build, $entity, $display, $view_mode, $langcode);
     if ($entity->id()) {
       $build['#contextual_links']['node'] = array(
diff --git a/core/modules/node/node.api.php b/core/modules/node/node.api.php
index ba67aca..123ed11 100644
--- a/core/modules/node/node.api.php
+++ b/core/modules/node/node.api.php
@@ -784,7 +784,7 @@ function hook_node_submit(\Drupal\Core\Entity\EntityInterface $node, $form, &$fo
  *
  * @param \Drupal\Core\Entity\EntityInterface $node
  *   The node that is being assembled for rendering.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   node components.
  * @param string $view_mode
@@ -797,7 +797,7 @@ function hook_node_submit(\Drupal\Core\Entity\EntityInterface $node, $form, &$fo
  *
  * @ingroup node_api_hooks
  */
-function hook_node_view(\Drupal\Core\Entity\EntityInterface $node, \Drupal\entity\Entity\EntityDisplay $display, $view_mode, $langcode) {
+function hook_node_view(\Drupal\Core\Entity\EntityInterface $node, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display, $view_mode, $langcode) {
   // Only do the extra work if the component is configured to be displayed.
   // This assumes a 'mymodule_addition' extra field has been defined for the
   // node type in hook_field_extra_fields().
@@ -826,7 +826,7 @@ function hook_node_view(\Drupal\Core\Entity\EntityInterface $node, \Drupal\entit
  *   A renderable array representing the node content.
  * @param \Drupal\Core\Entity\EntityInterface $node
  *   The node being rendered.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   node components.
  *
@@ -835,7 +835,7 @@ function hook_node_view(\Drupal\Core\Entity\EntityInterface $node, \Drupal\entit
  *
  * @ingroup node_api_hooks
  */
-function hook_node_view_alter(&$build, \Drupal\Core\Entity\EntityInterface $node, \Drupal\entity\Entity\EntityDisplay $display) {
+function hook_node_view_alter(&$build, \Drupal\Core\Entity\EntityInterface $node, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display) {
   if ($build['#view_mode'] == 'full' && isset($build['an_additional_field'])) {
     // Change its weight.
     $build['an_additional_field']['#weight'] = -10;
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index a860f3f..e6e78a2 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -14,13 +14,11 @@
 use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Database\Query\AlterableInterface;
 use Drupal\Core\Database\Query\SelectInterface;
-use Drupal\Core\Datetime\DrupalDateTime;
 use Drupal\node\NodeTypeInterface;
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Template\Attribute;
-use Drupal\entity\Entity\EntityDisplay;
 use Drupal\file\Entity\File;
-use Drupal\user\UserInterface;
 
 /**
  * Denotes that the node is not published.
@@ -190,7 +188,7 @@ function node_entity_bundle_info() {
 /**
  * Implements hook_entity_display_alter().
  */
-function node_entity_display_alter(EntityDisplay $display, $context) {
+function node_entity_display_alter(EntityViewDisplayInterface $display, $context) {
   // Hide field labels in search index.
   if ($context['entity_type'] == 'node' && $context['view_mode'] == 'search_index') {
     foreach ($display->getComponents() as $name => $options) {
diff --git a/core/modules/node/tests/modules/node_test/node_test.module b/core/modules/node/tests/modules/node_test/node_test.module
index 450f703..d92e07e 100644
--- a/core/modules/node/tests/modules/node_test/node_test.module
+++ b/core/modules/node/tests/modules/node_test/node_test.module
@@ -9,7 +9,7 @@
  */
 
 use Drupal\Core\Entity\EntityInterface;
-use Drupal\entity\Entity\EntityDisplay;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\node\NodeInterface;
 
 /**
@@ -31,7 +31,7 @@ function node_test_node_load($nodes, $types) {
 /**
  * Implements hook_node_view().
  */
-function node_test_node_view(EntityInterface $node, EntityDisplay $display, $view_mode) {
+function node_test_node_view(EntityInterface $node, EntityViewDisplayInterface $display, $view_mode) {
   if ($view_mode == 'rss') {
     // Add RSS elements and namespaces when building the RSS feed.
     $node->rss_elements[] = array(
diff --git a/core/modules/statistics/statistics.module b/core/modules/statistics/statistics.module
index d2dfb4c..0e53e9f 100644
--- a/core/modules/statistics/statistics.module
+++ b/core/modules/statistics/statistics.module
@@ -6,7 +6,7 @@
  */
 
 use Drupal\Core\Entity\EntityInterface;
-use Drupal\entity\Entity\EntityDisplay;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 
 /**
  * Implements hook_help().
@@ -47,7 +47,7 @@ function statistics_permission() {
 /**
  * Implements hook_node_view().
  */
-function statistics_node_view(EntityInterface $node, EntityDisplay $display, $view_mode) {
+function statistics_node_view(EntityInterface $node, EntityViewDisplayInterface $display, $view_mode) {
   if (!$node->isNew() && $view_mode == 'full' && node_is_page($node) && empty($node->in_preview)) {
     $node->content['#attached']['library'][] = array('statistics', 'drupal.statistics');
     $settings = array('data' => array('nid' => $node->id()), 'url' => url(drupal_get_path('module', 'statistics') . '/statistics.php'));
@@ -75,7 +75,7 @@ function statistics_node_view(EntityInterface $node, EntityDisplay $display, $vi
 /**
  * Implements hook_node_view_alter().
  */
-function statistics_node_view_alter(&$build, EntityInterface $node, EntityDisplay $display) {
+function statistics_node_view_alter(&$build, EntityInterface $node, EntityViewDisplayInterface $display) {
   // If statistics were added to the node render array, we can't use the render
   // cache.
   if (isset($build['links']['statistics'])) {
diff --git a/core/modules/system/entity.api.php b/core/modules/system/entity.api.php
index 05f9e57..8f88540 100644
--- a/core/modules/system/entity.api.php
+++ b/core/modules/system/entity.api.php
@@ -426,7 +426,7 @@ function hook_entity_query_alter(\Drupal\Core\Entity\Query\QueryInterface $query
  *
  * @param \Drupal\Core\Entity\EntityInterface $entity
  *   The entity object.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   entity components.
  * @param $view_mode
@@ -443,7 +443,7 @@ function hook_entity_query_alter(\Drupal\Core\Entity\Query\QueryInterface $query
  * @see hook_node_view()
  * @see hook_user_view()
  */
-function hook_entity_view(\Drupal\Core\Entity\EntityInterface $entity, \Drupal\entity\Entity\EntityDisplay $display, $view_mode, $langcode) {
+function hook_entity_view(\Drupal\Core\Entity\EntityInterface $entity, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display, $view_mode, $langcode) {
   // Only do the extra work if the component is configured to be displayed.
   // This assumes a 'mymodule_addition' extra field has been defined for the
   // entity bundle in hook_field_extra_fields().
@@ -472,7 +472,7 @@ function hook_entity_view(\Drupal\Core\Entity\EntityInterface $entity, \Drupal\e
  *   A renderable array representing the entity content.
  * @param \Drupal\Core\Entity\EntityInterface $entity
  *   The entity object being rendered.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   entity components.
  *
@@ -482,7 +482,7 @@ function hook_entity_view(\Drupal\Core\Entity\EntityInterface $entity, \Drupal\e
  * @see hook_taxonomy_term_view_alter()
  * @see hook_user_view_alter()
  */
-function hook_entity_view_alter(&$build, Drupal\Core\Entity\EntityInterface $entity, \Drupal\entity\Entity\EntityDisplay $display) {
+function hook_entity_view_alter(&$build, Drupal\Core\Entity\EntityInterface $entity, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display) {
   if ($build['#view_mode'] == 'full' && isset($build['an_additional_field'])) {
     // Change its weight.
     $build['an_additional_field']['#weight'] = -10;
@@ -551,7 +551,7 @@ function hook_entity_view_mode_alter(&$view_mode, Drupal\Core\Entity\EntityInter
 /**
  * Alters the settings used for displaying an entity.
  *
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object that will be used to display the entity
  *   components.
  * @param array $context
@@ -560,7 +560,7 @@ function hook_entity_view_mode_alter(&$view_mode, Drupal\Core\Entity\EntityInter
  *   - bundle: The bundle, e.g., 'page' or 'article'.
  *   - view_mode: The view mode, e.g. 'full', 'teaser'...
  */
-function hook_entity_display_alter(\Drupal\entity\Entity\EntityDisplay $display, array $context) {
+function hook_entity_display_alter(\Drupal\Core\Entity\Display\EntityViewDisplayInterface $display, array $context) {
   // Leave field labels out of the search index.
   if ($context['entity_type'] == 'node' && $context['view_mode'] == 'search_index') {
     foreach ($display->getComponents() as $name => $options) {
@@ -600,7 +600,7 @@ function hook_entity_prepare_form(\Drupal\Core\Entity\EntityInterface $entity, $
 /**
  * Alters the settings used for displaying an entity form.
  *
- * @param \Drupal\entity\Entity\EntityFormDisplay $form_display
+ * @param \Drupal\Core\Entity\Display\EntityFormDisplayInterface $form_display
  *   The entity_form_display object that will be used to display the entity form
  *   components.
  * @param array $context
@@ -609,7 +609,7 @@ function hook_entity_prepare_form(\Drupal\Core\Entity\EntityInterface $entity, $
  *   - bundle: The bundle, e.g., 'page' or 'article'.
  *   - form_mode: The form mode, e.g. 'default', 'profile', 'register'...
  */
-function hook_entity_form_display_alter(\Drupal\entity\Entity\EntityFormDisplay $form_display, array $context) {
+function hook_entity_form_display_alter(\Drupal\Core\Entity\Display\EntityFormDisplayInterface $form_display, array $context) {
   // Hide the 'user_picture' field from the register form.
   if ($context['entity_type'] == 'user' && $context['form_mode'] == 'register') {
     $form_display->setComponent('user_picture', array(
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/TermViewBuilder.php b/core/modules/taxonomy/lib/Drupal/taxonomy/TermViewBuilder.php
index b33dbfd..a8f4337 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/TermViewBuilder.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/TermViewBuilder.php
@@ -7,9 +7,9 @@
 
 namespace Drupal\taxonomy;
 
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityViewBuilder;
-use Drupal\entity\Entity\EntityDisplay;
 
 /**
  * Render controller for taxonomy terms.
@@ -51,7 +51,7 @@ protected function getBuildDefaults(EntityInterface $entity, $view_mode, $langco
   /**
    * {@inheritdoc}
    */
-  protected function alterBuild(array &$build, EntityInterface $entity, EntityDisplay $display, $view_mode, $langcode = NULL) {
+  protected function alterBuild(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode, $langcode = NULL) {
     parent::alterBuild($build, $entity, $display, $view_mode, $langcode);
     $build['#attached']['css'][] = drupal_get_path('module', 'taxonomy') . '/css/taxonomy.module.css';
     $build['#contextual_links']['taxonomy_term'] = array(
diff --git a/core/modules/taxonomy/taxonomy.api.php b/core/modules/taxonomy/taxonomy.api.php
index 8de2d33..5ddc3c0 100644
--- a/core/modules/taxonomy/taxonomy.api.php
+++ b/core/modules/taxonomy/taxonomy.api.php
@@ -249,7 +249,7 @@ function hook_taxonomy_term_delete(Drupal\taxonomy\Term $term) {
  *
  * @param \Drupal\taxonomy\Entity\Term $term
  *   The term that is being assembled for rendering.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   term components.
  * @param $view_mode
@@ -259,7 +259,7 @@ function hook_taxonomy_term_delete(Drupal\taxonomy\Term $term) {
  *
  * @see hook_entity_view()
  */
-function hook_taxonomy_term_view(\Drupal\taxonomy\Entity\Term $term, \Drupal\entity\Entity\EntityDisplay $display, $view_mode, $langcode) {
+function hook_taxonomy_term_view(\Drupal\taxonomy\Entity\Term $term, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display, $view_mode, $langcode) {
   // Only do the extra work if the component is configured to be displayed.
   // This assumes a 'mymodule_addition' extra field has been defined for the
   // vocabulary in hook_field_extra_fields().
@@ -288,13 +288,13 @@ function hook_taxonomy_term_view(\Drupal\taxonomy\Entity\Term $term, \Drupal\ent
  *   A renderable array representing the taxonomy term content.
  * @param \Drupal\taxonomy\Entity\Term $term
  *   The taxonomy term being rendered.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   term components.
  *
  * @see hook_entity_view_alter()
  */
-function hook_taxonomy_term_view_alter(&$build, \Drupal\taxonomy\Entity\Term $term, \Drupal\entity\Entity\EntityDisplay $display) {
+function hook_taxonomy_term_view_alter(&$build, \Drupal\taxonomy\Entity\Term $term, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display) {
   if ($build['#view_mode'] == 'full' && isset($build['an_additional_field'])) {
     // Change its weight.
     $build['an_additional_field']['#weight'] = -10;
diff --git a/core/modules/text/lib/Drupal/text/Tests/Formatter/TextPlainUnitTest.php b/core/modules/text/lib/Drupal/text/Tests/Formatter/TextPlainUnitTest.php
index 72c0fe9..9f986ab 100644
--- a/core/modules/text/lib/Drupal/text/Tests/Formatter/TextPlainUnitTest.php
+++ b/core/modules/text/lib/Drupal/text/Tests/Formatter/TextPlainUnitTest.php
@@ -9,7 +9,7 @@
 
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Language\Language;
-use Drupal\entity\Entity\EntityDisplay;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
@@ -118,10 +118,10 @@ protected function createEntity($values = array()) {
    *
    * @param \Drupal\Core\Entity\EntityInterface $entity
    *   The entity object with attached fields to render.
-   * @param \Drupal\entity\Entity\EntityDisplay $display
+   * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
    *   The display to render the fields in.
    */
-  protected function renderEntityFields(EntityInterface $entity, EntityDisplay $display) {
+  protected function renderEntityFields(EntityInterface $entity, EntityViewDisplayInterface $display) {
     $content = field_attach_view($entity, $display);
     $this->content = drupal_render($content);
     return $this->content;
diff --git a/core/modules/user/user.api.php b/core/modules/user/user.api.php
index 6533c0e..2d2fbd9 100644
--- a/core/modules/user/user.api.php
+++ b/core/modules/user/user.api.php
@@ -313,7 +313,7 @@ function hook_user_logout($account) {
  *
  * @param \Drupal\user\UserInterface $account
  *   The user object on which the operation is being performed.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   user components.
  * @param $view_mode
@@ -324,7 +324,7 @@ function hook_user_logout($account) {
  * @see hook_user_view_alter()
  * @see hook_entity_view()
  */
-function hook_user_view(\Drupal\user\UserInterface $account, \Drupal\entity\Entity\EntityDisplay $display, $view_mode, $langcode) {
+function hook_user_view(\Drupal\user\UserInterface $account, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display, $view_mode, $langcode) {
   // Only do the extra work if the component is configured to be displayed.
   // This assumes a 'mymodule_addition' extra field has been defined for the
   // user entity type in hook_field_extra_fields().
@@ -353,14 +353,14 @@ function hook_user_view(\Drupal\user\UserInterface $account, \Drupal\entity\Enti
  *   A renderable array representing the user.
  * @param \Drupal\user\UserInterface $account
  *   The user account being rendered.
- * @param \Drupal\entity\Entity\EntityDisplay $display
+ * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
  *   The entity_display object holding the display options configured for the
  *   user components.
  *
  * @see user_view()
  * @see hook_entity_view_alter()
  */
-function hook_user_view_alter(&$build, \Drupal\user\UserInterface $account, \Drupal\entity\Entity\EntityDisplay $display) {
+function hook_user_view_alter(&$build, \Drupal\user\UserInterface $account, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display) {
   // Check for the existence of a field added by another module.
   if (isset($build['an_additional_field'])) {
     // Change its weight.
diff --git a/core/modules/user/user.module b/core/modules/user/user.module
index 5751f02..63fd09d 100644
--- a/core/modules/user/user.module
+++ b/core/modules/user/user.module
@@ -3,7 +3,7 @@
 use Drupal\Component\Utility\Crypt;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Session\AccountInterface;
-use Drupal\entity\Entity\EntityDisplay;
+use \Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\file\Entity\File;
 use Drupal\user\Entity\User;
 use Drupal\user\UserInterface;
@@ -514,7 +514,7 @@ function user_permission() {
 /**
  * Implements hook_user_view().
  */
-function user_user_view(UserInterface $account, EntityDisplay $display) {
+function user_user_view(UserInterface $account, EntityViewDisplayInterface $display) {
   if ($display->getComponent('member_for')) {
     $account->content['member_for'] = array(
       '#type' => 'item',
