diff --git a/core/includes/entity.inc b/core/includes/entity.inc
index 28d2025..7dcfd3c 100644
--- a/core/includes/entity.inc
+++ b/core/includes/entity.inc
@@ -603,18 +603,18 @@ function entity_view_multiple(array $entities, $view_mode, $langcode = NULL, $re
 }
 
 /**
- * Returns the entity_display object associated to a bundle and view mode.
+ * Returns the entity view display associated to a bundle and view mode.
  *
  * Use this function when assigning suggested display options for a component
  * in a given view mode. Note that they will only be actually used at render
  * time if the view mode itself is configured to use dedicated display settings
  * for the bundle; if not, the 'default' display is used instead.
  *
- * The function reads the entity_display object from the current configuration,
- * or returns a ready-to-use empty one if configuration entry exists yet for
- * this bundle and view mode. This streamlines manipulation of display objects
- * by always returning a consistent object that reflects the current state of
- * the configuration.
+ * The function reads the entity view display from the current configuration, or
+ * returns a ready-to-use empty one if configuration entry exists yet for this
+ * bundle and view mode. This streamlines manipulation of display objects by
+ * always returning a consistent object that reflects the current state of the
+ * configuration.
  *
  * Example usage:
  * - Set the 'body' field to be displayed and the 'field_image' field to be
@@ -639,19 +639,19 @@ function entity_view_multiple(array $entities, $view_mode, $langcode = NULL, $re
  *   this bundle.
  *
  * @return \Drupal\Core\Entity\Display\EntityViewDisplayInterface
- *   The display object associated to the view mode.
+ *   The view display object associated to the view mode.
  */
 function entity_get_display($entity_type, $bundle, $view_mode) {
   // Try loading the display from configuration.
-  $display = entity_load('entity_display', $entity_type . '.' . $bundle . '.' . $view_mode);
+  $display = entity_load('entity_view_display', $entity_type . '.' . $bundle . '.' . $view_mode);
 
   // If not found, create a fresh display object. We do not preemptively create
-  // new entity_display configuration entries for each existing entity type and
-  // bundle whenever a new view mode becomes available. Instead, configuration
-  // entries are only created when a display object is explicitly configured
-  // and saved.
+  // new entity_view_display configuration entries for each existing entity type
+  // and bundle whenever a new view mode becomes available. Instead,
+  // configuration entries are only created when a display object is explicitly
+  // configured and saved.
   if (!$display) {
-    $display = entity_create('entity_display', array(
+    $display = entity_create('entity_view_display', array(
       'targetEntityType' => $entity_type,
       'bundle' => $bundle,
       'mode' => $view_mode,
@@ -663,7 +663,7 @@ function entity_get_display($entity_type, $bundle, $view_mode) {
 }
 
 /**
- * Returns the entity_display object used to render an entity.
+ * Returns the entity view display object used to render an entity.
  *
  * Depending on the configuration of the view mode for the bundle, this can be
  * either the display object associated to the view mode, or the 'default'
@@ -682,7 +682,7 @@ function entity_get_display($entity_type, $bundle, $view_mode) {
  *  The view mode being rendered.
  *
  * @return \Drupal\Core\Entity\Display\EntityViewDisplayInterface
- *   The display object that should be used to render the entity.
+ *   The view display object that should be used to render the entity.
  *
  * @see entity_get_display().
  */
@@ -698,7 +698,7 @@ function entity_get_render_display(EntityInterface $entity, $view_mode) {
       'default' => $entity_type . '.' . $bundle . '.default',
       $view_mode => $entity_type . '.' . $bundle . '.' . $view_mode,
     );
-    $entity_displays = entity_load_multiple('entity_display', $ids);
+    $entity_displays = entity_load_multiple('entity_view_display', $ids);
     if (isset($entity_displays[$ids[$view_mode]]) && $entity_displays[$ids[$view_mode]]->status()) {
       $render_view_mode = $view_mode;
     }
@@ -713,7 +713,7 @@ function entity_get_render_display(EntityInterface $entity, $view_mode) {
     'bundle' => $bundle,
     'view_mode' => $view_mode,
   );
-  drupal_alter('entity_display', $display, $display_context);
+  drupal_alter('entity_view_display', $display, $display_context);
 
   return $display;
 }
diff --git a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php
index d886224..b50c5d9 100644
--- a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php
+++ b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php
@@ -162,8 +162,8 @@ protected function getBuildDefaults(EntityInterface $entity, $view_mode, $langco
    * @param \Drupal\Core\Entity\EntityInterface $entity
    *   The entity to be prepared.
    * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
-   *   The entity_display object holding the display options configured for
-   *   the entity components.
+   *   The entity view display holding the display options configured for the
+   *   entity components.
    * @param string $view_mode
    *   The view mode that should be used to prepare the entity.
    * @param string $langcode
diff --git a/core/lib/Drupal/Core/Entity/EntityViewBuilderInterface.php b/core/lib/Drupal/Core/Entity/EntityViewBuilderInterface.php
index 0d026f2..6cd0960 100644
--- a/core/lib/Drupal/Core/Entity/EntityViewBuilderInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityViewBuilderInterface.php
@@ -17,8 +17,8 @@
    *
    * @param array $entities
    *   The entities, implementing EntityInterface, whose content is being built.
-   * @param array $displays
-   *   The array of entity_display objects holding the display options
+   * @param \Drupal\Core\Entity\EntityViewDisplayInterface[] $displays
+   *   The array of entity view displays holding the display options
    *   configured for the entity components, keyed by bundle name.
    * @param string $view_mode
    *   The view mode in which the entity is being viewed.
diff --git a/core/modules/comment/comment.api.php b/core/modules/comment/comment.api.php
index 375f6da..0004793 100644
--- a/core/modules/comment/comment.api.php
+++ b/core/modules/comment/comment.api.php
@@ -87,7 +87,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\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
+ *   The entity view display holding the display options configured for the
  *   comment components.
  * @param $view_mode
  *   View mode, e.g. 'full', 'teaser'...
@@ -125,7 +125,7 @@ function hook_comment_view(\Drupal\comment\Entity\Comment $comment, \Drupal\Core
  * @param \Drupal\comment\Entity\Comment $comment
  *   The comment being rendered.
  * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
+ *   The entity view display holding the display options configured for the
  *   comment components.
  *
  * @see comment_view()
diff --git a/core/modules/entity/entity.install b/core/modules/entity/entity.install
index 5ed9e6b..41aa88b 100644
--- a/core/modules/entity/entity.install
+++ b/core/modules/entity/entity.install
@@ -6,7 +6,7 @@
  */
 
 /**
- * Returns the raw configuration object for an EntityDisplay entity.
+ * Returns the raw configuration object for an EntityViewDisplay entity.
  *
  * The function returns the existing configuration entry if it exists, or
  * creates a fresh structure.
@@ -23,7 +23,7 @@
  */
 function _update_8000_entity_get_display($entity_type, $bundle, $view_mode) {
   $id = $entity_type . '.' . $bundle . '.' . $view_mode;
-  $config = \Drupal::config("entity.display.$id");
+  $config = \Drupal::config("entity.view_display.$id");
   if ($config->get()) {
     return $config;
   }
diff --git a/core/modules/entity/entity.module b/core/modules/entity/entity.module
index 7383920..7848103 100644
--- a/core/modules/entity/entity.module
+++ b/core/modules/entity/entity.module
@@ -100,12 +100,12 @@ function entity_menu() {
  */
 function entity_entity_bundle_rename($entity_type, $bundle_old, $bundle_new) {
   // Rename entity displays.
-  $entity_info = \Drupal::entityManager()->getDefinition('entity_display');
+  $entity_info = \Drupal::entityManager()->getDefinition('entity_view_display');
   if ($bundle_old !== $bundle_new) {
-    $ids = config_get_storage_names_with_prefix('entity.display.' . $entity_type . '.' . $bundle_old . '.');
+    $ids = config_get_storage_names_with_prefix('entity.view_display.' . $entity_type . '.' . $bundle_old . '.');
     foreach ($ids as $id) {
       $id = ConfigStorageController::getIDFromConfigName($id, $entity_info->getConfigPrefix());
-      $display = entity_load('entity_display', $id);
+      $display = entity_load('entity_view_display', $id);
       $new_id = $entity_type . '.' . $bundle_new . '.' . $display->mode;
       $display->id = $new_id;
       $display->bundle = $bundle_new;
@@ -133,12 +133,12 @@ function entity_entity_bundle_rename($entity_type, $bundle_old, $bundle_new) {
  */
 function entity_entity_bundle_delete($entity_type, $bundle) {
   // Remove entity displays of the deleted bundle.
-  $entity_info = \Drupal::entityManager()->getDefinition('entity_display');
-  $ids = config_get_storage_names_with_prefix('entity.display.' . $entity_type . '.' . $bundle . '.');
+  $entity_info = \Drupal::entityManager()->getDefinition('entity_view_display');
+  $ids = config_get_storage_names_with_prefix('entity.view_display.' . $entity_type . '.' . $bundle . '.');
   foreach ($ids as &$id) {
     $id = ConfigStorageController::getIDFromConfigName($id, $entity_info->getConfigPrefix());
   }
-  entity_delete_multiple('entity_display', $ids);
+  entity_delete_multiple('entity_view_display', $ids);
 
   // Remove entity form displays of the deleted bundle.
   $entity_info = \Drupal::entityManager()->getDefinition('entity_form_display');
diff --git a/core/modules/entity/lib/Drupal/entity/Entity/EntityDisplay.php b/core/modules/entity/lib/Drupal/entity/Entity/EntityDisplay.php
deleted file mode 100644
index 70deb3e..0000000
--- a/core/modules/entity/lib/Drupal/entity/Entity/EntityDisplay.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\entity\Entity\EntityDisplay.
- */
-
-namespace Drupal\entity\Entity;
-
-use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
-use Drupal\entity\EntityDisplayBase;
-
-/**
- * Configuration entity that contains display options for all components of a
- * rendered entity in a given view mode.
- *
- * @EntityType(
- *   id = "entity_display",
- *   label = @Translation("Entity display"),
- *   controllers = {
- *     "storage" = "Drupal\Core\Config\Entity\ConfigStorageController"
- *   },
- *   config_prefix = "entity.display",
- *   entity_keys = {
- *     "id" = "id",
- *     "uuid" = "uuid",
- *     "status" = "status"
- *   }
- * )
- */
-class EntityDisplay extends EntityDisplayBase implements EntityViewDisplayInterface {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function __construct(array $values, $entity_type) {
-    $this->pluginManager = \Drupal::service('plugin.manager.field.formatter');
-    $this->displayContext = 'display';
-
-    parent::__construct($values, $entity_type);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getRenderer($field_name) {
-    if (isset($this->plugins[$field_name])) {
-      return $this->plugins[$field_name];
-    }
-
-    // Instantiate the formatter object from the stored display properties.
-    if (($configuration = $this->getComponent($field_name)) && isset($configuration['type']) && ($definition = $this->getFieldDefinition($field_name))) {
-      $formatter = $this->pluginManager->getInstance(array(
-        'field_definition' => $definition,
-        'view_mode' => $this->originalMode,
-        // No need to prepare, defaults have been merged in setComponent().
-        'prepare' => FALSE,
-        'configuration' => $configuration
-      ));
-    }
-    else {
-      $formatter = NULL;
-    }
-
-    // Persist the formatter object.
-    $this->plugins[$field_name] = $formatter;
-    return $formatter;
-  }
-
-}
diff --git a/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php b/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php
index a21a849..457723a 100644
--- a/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php
+++ b/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php
@@ -8,7 +8,7 @@
 namespace Drupal\entity\Entity;
 
 use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
-use Drupal\entity\EntityDisplayBase;
+use Drupal\entity\EntityDisplay;
 
 /**
  * Configuration entity that contains widget options for all components of a
@@ -28,7 +28,7 @@
  *   }
  * )
  */
-class EntityFormDisplay extends EntityDisplayBase implements EntityFormDisplayInterface, \Serializable {
+class EntityFormDisplay extends EntityDisplay implements EntityFormDisplayInterface, \Serializable {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/entity/lib/Drupal/entity/Entity/EntityViewDisplay.php b/core/modules/entity/lib/Drupal/entity/Entity/EntityViewDisplay.php
new file mode 100644
index 0000000..b9be993
--- /dev/null
+++ b/core/modules/entity/lib/Drupal/entity/Entity/EntityViewDisplay.php
@@ -0,0 +1,70 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\entity\Entity\EntityDisplay.
+ */
+
+namespace Drupal\entity\Entity;
+
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
+use Drupal\entity\EntityDisplay;
+
+/**
+ * Configuration entity that contains display options for all components of a
+ * rendered entity in a given view mode.
+ *
+ * @EntityType(
+ *   id = "entity_view_display",
+ *   label = @Translation("Entity view display"),
+ *   controllers = {
+ *     "storage" = "Drupal\Core\Config\Entity\ConfigStorageController"
+ *   },
+ *   config_prefix = "entity.view_display",
+ *   entity_keys = {
+ *     "id" = "id",
+ *     "uuid" = "uuid",
+ *     "status" = "status"
+ *   }
+ * )
+ */
+class EntityViewDisplay extends EntityDisplay implements EntityViewDisplayInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $values, $entity_type) {
+    $this->pluginManager = \Drupal::service('plugin.manager.field.formatter');
+    $this->displayContext = 'display';
+
+    parent::__construct($values, $entity_type);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getRenderer($field_name) {
+    if (isset($this->plugins[$field_name])) {
+      return $this->plugins[$field_name];
+    }
+
+    // Instantiate the formatter object from the stored display properties.
+    if (($configuration = $this->getComponent($field_name)) && isset($configuration['type']) && ($definition = $this->getFieldDefinition($field_name))) {
+      $formatter = $this->pluginManager->getInstance(array(
+        'field_definition' => $definition,
+        'view_mode' => $this->originalMode,
+        // No need to prepare, defaults have been merged in setComponent().
+        'prepare' => FALSE,
+        'configuration' => $configuration
+      ));
+    }
+    else {
+      $formatter = NULL;
+    }
+
+    // Persist the formatter object.
+    $this->plugins[$field_name] = $formatter;
+    return $formatter;
+  }
+
+}
diff --git a/core/modules/entity/lib/Drupal/entity/EntityDisplay.php b/core/modules/entity/lib/Drupal/entity/EntityDisplay.php
new file mode 100644
index 0000000..f590af4
--- /dev/null
+++ b/core/modules/entity/lib/Drupal/entity/EntityDisplay.php
@@ -0,0 +1,335 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\entity\EntityDisplay.
+ */
+
+namespace Drupal\entity;
+
+use Drupal\Core\Config\Entity\ConfigEntityBase;
+use Drupal\Core\Entity\Display\EntityDisplayInterface;
+use Drupal\Core\Entity\ContentEntityInterface;
+
+/**
+ * Base class for config entity types that store configuration for entity forms
+ * and displays.
+ */
+abstract class EntityDisplay extends ConfigEntityBase implements EntityDisplayInterface {
+
+  /**
+   * Unique ID for the config entity.
+   *
+   * @var string
+   */
+  public $id;
+
+  /**
+   * Unique UUID for the config entity.
+   *
+   * @var string
+   */
+  public $uuid;
+
+  /**
+   * Entity type to be displayed.
+   *
+   * @var string
+   */
+  public $targetEntityType;
+
+  /**
+   * Bundle to be displayed.
+   *
+   * @var string
+   */
+  public $bundle;
+
+  /**
+   * A partial entity, created via _field_create_entity_from_ids() from
+   * $targetEntityType and $bundle.
+   *
+   * @var \Drupal\Core\Entity\EntityInterface
+   *
+   * @todo Remove when getFieldDefinition() is fixed to not need it.
+   *   https://drupal.org/node/2114707
+   */
+  private $targetEntity;
+
+  /**
+   * View or form mode to be displayed.
+   *
+   * @var string
+   */
+  public $mode;
+
+  /**
+   * Whether this display is enabled or not. If the entity (form) display
+   * is disabled, we'll fall back to the 'default' display.
+   *
+   * @var boolean
+   */
+  public $status;
+
+  /**
+   * List of component display options, keyed by component name.
+   *
+   * @var array
+   */
+  protected $content = array();
+
+  /**
+   * The original view or form mode that was requested (case of view/form modes
+   * being configured to fall back to the 'default' display).
+   *
+   * @var string
+   */
+  public $originalMode;
+
+  /**
+   * The plugin objects used for this display, keyed by field name.
+   *
+   * @var array
+   */
+  protected $plugins = array();
+
+  /**
+   * Context in which this entity will be used (e.g. 'display', 'form').
+   *
+   * @var string
+   */
+  protected $displayContext;
+
+  /**
+   * The plugin manager used by this entity type.
+   *
+   * @var \Drupal\Component\Plugin\PluginManagerBase
+   */
+  protected $pluginManager;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $values, $entity_type) {
+    // @todo See http://drupal.org/node/1825044#comment-6847792: contact.module
+    // currently produces invalid entities with a NULL bundle in some cases.
+    // Add the validity checks back when http://drupal.org/node/1856556 is
+    // fixed.
+    // if (!isset($values['targetEntityType']) || !isset($values['bundle']) || !isset($values['mode'])) {
+    //   throw new \InvalidArgumentException('Missing required properties for an EntityDisplay entity.');
+    // }
+
+    // A plugin manager and a context type needs to be set by extending classes.
+    if (!isset($this->pluginManager)) {
+      throw new \RuntimeException('Missing plugin manager.');
+    }
+    if (!isset($this->displayContext)) {
+      throw new \RuntimeException('Missing display context type.');
+    }
+
+    parent::__construct($values, $entity_type);
+
+    $this->originalMode = $this->mode;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function id() {
+    return $this->targetEntityType . '.' . $this->bundle . '.' . $this->mode;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function save() {
+    $return = parent::save();
+
+    // Reset the render cache for the target entity type.
+    if (\Drupal::entityManager()->hasController($this->targetEntityType, 'view_builder')) {
+      \Drupal::entityManager()->getViewBuilder($this->targetEntityType)->resetCache();
+    }
+
+    return $return;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getExportProperties() {
+    $names = array(
+      'id',
+      'uuid',
+      'targetEntityType',
+      'bundle',
+      'mode',
+      'content',
+      'status',
+    );
+    $properties = array();
+    foreach ($names as $name) {
+      $properties[$name] = $this->get($name);
+    }
+    return $properties;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function createCopy($mode) {
+    $display = $this->createDuplicate();
+    $display->mode = $display->originalMode = $mode;
+    return $display;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getComponents() {
+    $result = array();
+    foreach ($this->content as $name => $options) {
+      if (!isset($options['visible']) || $options['visible'] == TRUE) {
+        unset($options['visible']);
+        $result[$name] = $options;
+      }
+    }
+    return $result;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getComponent($name) {
+    // Until https://drupal.org/node/2144919 allows base fields to be configured
+    // in the UI, many base fields are also still registered as "extra fields"
+    // to keep appearing in the "Manage (form) display" screens.
+    // - Field UI still treats them as "base fields", saving only the weight
+    //   and visibility flag in the EntityDisplay.
+    // - For some of them (e.g. node title), the custom rendering code has been
+    //   removed in favor of regular widgets/formatters. Their display options
+    //   are "upgraded" to those of a field (widget/formatter + settings) at
+    //   runtime using hook_entity_view_display_alter() and
+    //   hook_entity_form_display_alter().
+    // The getComponent() / setComponent() methods handle this by treating
+    // components as "extra fields" if they are registered as such, *and* if
+    // their display options contain no 'type' entry specifying a widget or
+    // formatter.
+    // @todo Cleanup after https://drupal.org/node/2144919 is fixed.
+    $extra_fields = field_info_extra_fields($this->targetEntityType, $this->bundle, $this->displayContext);
+    if (isset($extra_fields[$name]) && !isset($this->content[$name]['type'])) {
+      // If we have explicit settings, return an array or NULL depending on
+      // visibility.
+      if (isset($this->content[$name])) {
+        if ($this->content[$name]['visible']) {
+          return array(
+            'weight' => $this->content[$name]['weight'],
+          );
+        }
+        else {
+          return NULL;
+        }
+      }
+
+      // If no explicit settings for the extra field, look at the default
+      // visibility in its definition.
+      $definition = $extra_fields[$name];
+      if (!isset($definition['visible']) || $definition['visible'] == TRUE) {
+        return array(
+          'weight' => $definition['weight']
+        );
+      }
+      else {
+        return NULL;
+      }
+    }
+    elseif (isset($this->content[$name])) {
+      return $this->content[$name];
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function setComponent($name, array $options = array()) {
+    // If no weight specified, make sure the field sinks at the bottom.
+    if (!isset($options['weight'])) {
+      $max = $this->getHighestWeight();
+      $options['weight'] = isset($max) ? $max + 1 : 0;
+    }
+    // See remark in getComponent().
+    // @todo Cleanup after https://drupal.org/node/2144919 is fixed.
+    $extra_fields = field_info_extra_fields($this->targetEntityType, $this->bundle, $this->displayContext);
+    if (isset($extra_fields[$name]) && !isset($options['type'])) {
+      $options['visible'] = TRUE;
+    }
+    elseif ($field_definition = $this->getFieldDefinition($name)) {
+      $options = $this->pluginManager->prepareConfiguration($field_definition->getType(), $options);
+    }
+
+    // Clear the persisted plugin, if any.
+    unset($this->plugins[$name]);
+
+    $this->content[$name] = $options;
+
+    return $this;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function removeComponent($name) {
+    // See remark in getComponent().
+    // @todo Cleanup after https://drupal.org/node/2144919 is fixed.
+    $extra_fields = field_info_extra_fields($this->targetEntityType, $this->bundle, $this->displayContext);
+    if (isset($extra_fields[$name]) && !isset($this->content[$name]['type'])) {
+      // 'Extra fields' are exposed in hooks and can appear at any given time.
+      // Therefore we store extra fields that are explicitly being hidden, so
+      // that we can differenciate with those that are simply not configured
+      // yet.
+      $this->content[$name] = array(
+        'visible' => FALSE,
+      );
+    }
+    else {
+      unset($this->content[$name]);
+    }
+
+    unset($this->plugins[$name]);
+
+    return $this;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getHighestWeight() {
+    $weights = array();
+
+    // Collect weights for the components in the display.
+    foreach ($this->content as $options) {
+      if (isset($options['weight'])) {
+        $weights[] = $options['weight'];
+      }
+    }
+
+    // Let other modules feedback about their own additions.
+    $weights = array_merge($weights, module_invoke_all('field_info_max_weight', $this->targetEntityType, $this->bundle, $this->displayContext, $this->mode));
+
+    return $weights ? max($weights) : NULL;
+  }
+
+  /**
+   * Returns the field definition of a field.
+   */
+  protected function getFieldDefinition($field_name) {
+    // @todo Replace this entire implementation with
+    //   \Drupal::entityManager()->getFieldDefinition() when it can hand the
+    //   $instance objects - https://drupal.org/node/2114707
+    if (!isset($this->targetEntity)) {
+      $this->targetEntity = _field_create_entity_from_ids((object) array('entity_type' => $this->targetEntityType, 'bundle' => $this->bundle, 'entity_id' => NULL));
+    }
+    if (($this->targetEntity instanceof ContentEntityInterface) && $this->targetEntity->hasField($field_name)) {
+      return $this->targetEntity->get($field_name)->getFieldDefinition();
+    }
+  }
+}
diff --git a/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php b/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php
deleted file mode 100644
index 310520c..0000000
--- a/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php
+++ /dev/null
@@ -1,334 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\entity\EntityDisplayBase.
- */
-
-namespace Drupal\entity;
-
-use Drupal\Core\Config\Entity\ConfigEntityBase;
-use Drupal\Core\Entity\Display\EntityDisplayInterface;
-use Drupal\Core\Entity\ContentEntityInterface;
-
-/**
- * Base class for config entity types that store configuration for entity forms
- * and displays.
- */
-abstract class EntityDisplayBase extends ConfigEntityBase implements EntityDisplayInterface {
-
-  /**
-   * Unique ID for the config entity.
-   *
-   * @var string
-   */
-  public $id;
-
-  /**
-   * Unique UUID for the config entity.
-   *
-   * @var string
-   */
-  public $uuid;
-
-  /**
-   * Entity type to be displayed.
-   *
-   * @var string
-   */
-  public $targetEntityType;
-
-  /**
-   * Bundle to be displayed.
-   *
-   * @var string
-   */
-  public $bundle;
-
-  /**
-   * A partial entity, created via _field_create_entity_from_ids() from
-   * $targetEntityType and $bundle.
-   *
-   * @var \Drupal\Core\Entity\EntityInterface
-   *
-   * @todo Remove when getFieldDefinition() is fixed to not need it.
-   *   https://drupal.org/node/2114707
-   */
-  private $targetEntity;
-
-  /**
-   * View or form mode to be displayed.
-   *
-   * @var string
-   */
-  public $mode;
-
-  /**
-   * Whether this display is enabled or not. If the entity (form) display
-   * is disabled, we'll fall back to the 'default' display.
-   *
-   * @var boolean
-   */
-  public $status;
-
-  /**
-   * List of component display options, keyed by component name.
-   *
-   * @var array
-   */
-  protected $content = array();
-
-  /**
-   * The original view or form mode that was requested (case of view/form modes
-   * being configured to fall back to the 'default' display).
-   *
-   * @var string
-   */
-  public $originalMode;
-
-  /**
-   * The plugin objects used for this display, keyed by field name.
-   *
-   * @var array
-   */
-  protected $plugins = array();
-
-  /**
-   * Context in which this entity will be used (e.g. 'display', 'form').
-   *
-   * @var string
-   */
-  protected $displayContext;
-
-  /**
-   * The plugin manager used by this entity type.
-   *
-   * @var \Drupal\Component\Plugin\PluginManagerBase
-   */
-  protected $pluginManager;
-
-  /**
-   * {@inheritdoc}
-   */
-  public function __construct(array $values, $entity_type) {
-    // @todo See http://drupal.org/node/1825044#comment-6847792: contact.module
-    // currently produces invalid entities with a NULL bundle in some cases.
-    // Add the validity checks back when http://drupal.org/node/1856556 is
-    // fixed.
-    // if (!isset($values['targetEntityType']) || !isset($values['bundle']) || !isset($values['mode'])) {
-    //   throw new \InvalidArgumentException('Missing required properties for an EntityDisplay entity.');
-    // }
-
-    // A plugin manager and a context type needs to be set by extending classes.
-    if (!isset($this->pluginManager)) {
-      throw new \RuntimeException('Missing plugin manager.');
-    }
-    if (!isset($this->displayContext)) {
-      throw new \RuntimeException('Missing display context type.');
-    }
-
-    parent::__construct($values, $entity_type);
-
-    $this->originalMode = $this->mode;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function id() {
-    return $this->targetEntityType . '.' . $this->bundle . '.' . $this->mode;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function save() {
-    $return = parent::save();
-
-    // Reset the render cache for the target entity type.
-    if (\Drupal::entityManager()->hasController($this->targetEntityType, 'view_builder')) {
-      \Drupal::entityManager()->getViewBuilder($this->targetEntityType)->resetCache();
-    }
-
-    return $return;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getExportProperties() {
-    $names = array(
-      'id',
-      'uuid',
-      'targetEntityType',
-      'bundle',
-      'mode',
-      'content',
-      'status',
-    );
-    $properties = array();
-    foreach ($names as $name) {
-      $properties[$name] = $this->get($name);
-    }
-    return $properties;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function createCopy($mode) {
-    $display = $this->createDuplicate();
-    $display->mode = $display->originalMode = $mode;
-    return $display;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getComponents() {
-    $result = array();
-    foreach ($this->content as $name => $options) {
-      if (!isset($options['visible']) || $options['visible'] == TRUE) {
-        unset($options['visible']);
-        $result[$name] = $options;
-      }
-    }
-    return $result;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getComponent($name) {
-    // Until https://drupal.org/node/2144919 allows base fields to be configured
-    // in the UI, many base fields are also still registered as "extra fields"
-    // to keep appearing in the "Manage (form) display" screens.
-    // - Field UI still treats them as "base fields", saving only the weight
-    //   and visibility flag in the EntityDisplay.
-    // - For some of them (e.g. node title), the custom rendering code has been
-    //   removed in favor of regular widgets/formatters. Their display options
-    //   are "upgraded" to those of a field (widget/formatter + settings) at
-    //   runtime using hook_entity_display_alter().
-    // The getComponent() / setComponent() methods handle this by treating
-    // components as "extra fields" if they are registered as such, *and* if
-    // their display options contain no 'type' entry specifying a widget or
-    // formatter.
-    // @todo Cleanup after https://drupal.org/node/2144919 is fixed.
-    $extra_fields = field_info_extra_fields($this->targetEntityType, $this->bundle, $this->displayContext);
-    if (isset($extra_fields[$name]) && !isset($this->content[$name]['type'])) {
-      // If we have explicit settings, return an array or NULL depending on
-      // visibility.
-      if (isset($this->content[$name])) {
-        if ($this->content[$name]['visible']) {
-          return array(
-            'weight' => $this->content[$name]['weight'],
-          );
-        }
-        else {
-          return NULL;
-        }
-      }
-
-      // If no explicit settings for the extra field, look at the default
-      // visibility in its definition.
-      $definition = $extra_fields[$name];
-      if (!isset($definition['visible']) || $definition['visible'] == TRUE) {
-        return array(
-          'weight' => $definition['weight']
-        );
-      }
-      else {
-        return NULL;
-      }
-    }
-    elseif (isset($this->content[$name])) {
-      return $this->content[$name];
-    }
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function setComponent($name, array $options = array()) {
-    // If no weight specified, make sure the field sinks at the bottom.
-    if (!isset($options['weight'])) {
-      $max = $this->getHighestWeight();
-      $options['weight'] = isset($max) ? $max + 1 : 0;
-    }
-    // See remark in getComponent().
-    // @todo Cleanup after https://drupal.org/node/2144919 is fixed.
-    $extra_fields = field_info_extra_fields($this->targetEntityType, $this->bundle, $this->displayContext);
-    if (isset($extra_fields[$name]) && !isset($options['type'])) {
-      $options['visible'] = TRUE;
-    }
-    elseif ($field_definition = $this->getFieldDefinition($name)) {
-      $options = $this->pluginManager->prepareConfiguration($field_definition->getType(), $options);
-    }
-
-    // Clear the persisted plugin, if any.
-    unset($this->plugins[$name]);
-
-    $this->content[$name] = $options;
-
-    return $this;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function removeComponent($name) {
-    // See remark in getComponent().
-    // @todo Cleanup after https://drupal.org/node/2144919 is fixed.
-    $extra_fields = field_info_extra_fields($this->targetEntityType, $this->bundle, $this->displayContext);
-    if (isset($extra_fields[$name]) && !isset($this->content[$name]['type'])) {
-      // 'Extra fields' are exposed in hooks and can appear at any given time.
-      // Therefore we store extra fields that are explicitly being hidden, so
-      // that we can differenciate with those that are simply not configured
-      // yet.
-      $this->content[$name] = array(
-        'visible' => FALSE,
-      );
-    }
-    else {
-      unset($this->content[$name]);
-    }
-
-    unset($this->plugins[$name]);
-
-    return $this;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getHighestWeight() {
-    $weights = array();
-
-    // Collect weights for the components in the display.
-    foreach ($this->content as $options) {
-      if (isset($options['weight'])) {
-        $weights[] = $options['weight'];
-      }
-    }
-
-    // Let other modules feedback about their own additions.
-    $weights = array_merge($weights, module_invoke_all('field_info_max_weight', $this->targetEntityType, $this->bundle, $this->displayContext, $this->mode));
-
-    return $weights ? max($weights) : NULL;
-  }
-
-  /**
-   * Returns the field definition of a field.
-   */
-  protected function getFieldDefinition($field_name) {
-    // @todo Replace this entire implementation with
-    //   \Drupal::entityManager()->getFieldDefinition() when it can hand the
-    //   $instance objects - https://drupal.org/node/2114707
-    if (!isset($this->targetEntity)) {
-      $this->targetEntity = _field_create_entity_from_ids((object) array('entity_type' => $this->targetEntityType, 'bundle' => $this->bundle, 'entity_id' => NULL));
-    }
-    if (($this->targetEntity instanceof ContentEntityInterface) && $this->targetEntity->hasField($field_name)) {
-      return $this->targetEntity->get($field_name)->getFieldDefinition();
-    }
-  }
-}
diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php
index bc4e144..4bcbdde 100644
--- a/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php
+++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php
@@ -33,7 +33,7 @@ protected function setUp() {
    * Tests basic CRUD operations on EntityDisplay objects.
    */
   public function testEntityDisplayCRUD() {
-    $display = entity_create('entity_display', array(
+    $display = entity_create('entity_view_display', array(
       'targetEntityType' => 'entity_test',
       'bundle' => 'entity_test',
       'mode' => 'default',
@@ -57,7 +57,7 @@ public function testEntityDisplayCRUD() {
 
     // Check that the display can be properly saved and read back.
     $display->save();
-    $display = entity_load('entity_display', $display->id());
+    $display = entity_load('entity_view_display', $display->id());
     foreach (array('component_1', 'component_2', 'component_3') as $name) {
       $this->assertEqual($display->getComponent($name), $expected[$name]);
     }
@@ -71,14 +71,14 @@ public function testEntityDisplayCRUD() {
 
     // Check that the removal is correctly persisted.
     $display->save();
-    $display = entity_load('entity_display', $display->id());
+    $display = entity_load('entity_view_display', $display->id());
     $this->assertNULL($display->getComponent('component_3'));
 
     // Check that CreateCopy() creates a new component that can be correclty
     // saved.
     $new_display = $display->createCopy('other_view_mode');
     $new_display->save();
-    $new_display = entity_load('entity_display', $new_display->id());
+    $new_display = entity_load('entity_view_display', $new_display->id());
     $this->assertEqual($new_display->targetEntityType, $display->targetEntityType);
     $this->assertEqual($new_display->bundle, $display->bundle);
     $this->assertEqual($new_display->mode, 'other_view_mode');
@@ -109,7 +109,7 @@ public function testEntityGetDisplay() {
    * Tests the behavior of a field component within an EntityDisplay object.
    */
   public function testExtraFieldComponent() {
-    $display = entity_create('entity_display', array(
+    $display = entity_create('entity_view_display', array(
       'targetEntityType' => 'entity_test',
       'bundle' => 'entity_test',
       'mode' => 'default',
@@ -133,7 +133,7 @@ public function testExtraFieldComponent() {
   public function testFieldComponent() {
     $this->enableModules(array('field_test'));
 
-    $display = entity_create('entity_display', array(
+    $display = entity_create('entity_view_display', array(
       'targetEntityType' => 'entity_test',
       'bundle' => 'entity_test',
       'mode' => 'default',
@@ -217,11 +217,11 @@ public function testRenameDeleteBundle() {
     $info->old_type = 'article';
     $info->type = 'article_rename';
     $info->save();
-    $old_display = entity_load('entity_display', 'node.article.default');
+    $old_display = entity_load('entity_view_display', 'node.article.default');
     $this->assertFalse($old_display);
     $old_form_display = entity_load('entity_form_display', 'node.article.default');
     $this->assertFalse($old_form_display);
-    $new_display = entity_load('entity_display', 'node.article_rename.default');
+    $new_display = entity_load('entity_view_display', 'node.article_rename.default');
     $this->assertEqual('article_rename', $new_display->bundle);
     $this->assertEqual('node.article_rename.default', $new_display->id);
     $new_form_display = entity_load('entity_form_display', 'node.article_rename.default');
@@ -230,7 +230,7 @@ public function testRenameDeleteBundle() {
 
     // Delete the bundle.
     $info->delete();
-    $display = entity_load('entity_display', 'node.article_rename.default');
+    $display = entity_load('entity_view_display', 'node.article_rename.default');
     $this->assertFalse($display);
     $form_display = entity_load('entity_form_display', 'node.article_rename.default');
     $this->assertFalse($form_display);
@@ -258,12 +258,12 @@ public function testDeleteFieldInstance() {
     $instance->save();
 
     // Create default and teaser entity display.
-    entity_create('entity_display', array(
+    entity_create('entity_view_display', array(
       'targetEntityType' => 'entity_test',
       'bundle' => 'entity_test',
       'mode' => 'default',
     ))->setComponent($field_name)->save();
-    entity_create('entity_display', array(
+    entity_create('entity_view_display', array(
       'targetEntityType' => 'entity_test',
       'bundle' => 'entity_test',
       'mode' => 'teaser',
diff --git a/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php b/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php
index 7c2e381..faeb502 100644
--- a/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php
+++ b/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php
@@ -435,7 +435,7 @@ public static function postDelete(EntityStorageControllerInterface $storage_cont
       if (!$instance->deleted) {
         $view_modes = array('default' => array()) + entity_get_view_modes($instance->entity_type);
         foreach (array_keys($view_modes) as $mode) {
-          $displays_to_update['entity_display'][$instance->entity_type . '.' . $instance->bundle . '.' . $mode][] = $instance->field->name;
+          $displays_to_update['entity_view_display'][$instance->entity_type . '.' . $instance->bundle . '.' . $mode][] = $instance->field->name;
         }
         $form_modes = array('default' => array()) + entity_get_form_modes($instance->entity_type);
         foreach (array_keys($form_modes) as $mode) {
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Access/ViewModeAccessCheck.php b/core/modules/field_ui/lib/Drupal/field_ui/Access/ViewModeAccessCheck.php
index 393fa7b..59797ed 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Access/ViewModeAccessCheck.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Access/ViewModeAccessCheck.php
@@ -51,7 +51,7 @@ public function access(Route $route, Request $request, AccountInterface $account
       if (!$view_mode || $view_mode == 'default') {
         $visibility = TRUE;
       }
-      elseif ($entity_display = $this->entityManager->getStorageController('entity_display')->load($entity_type . '.' . $bundle . '.' . $view_mode)) {
+      elseif ($entity_display = $this->entityManager->getStorageController('entity_view_display')->load($entity_type . '.' . $bundle . '.' . $view_mode)) {
         $visibility = $entity_display->status();
       }
 
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 3ace025..f1e27ca 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
@@ -7,8 +7,8 @@
 
 namespace Drupal\field_ui;
 
-use Drupal\field\FieldInstanceInterface;
 use Drupal\Core\Entity\Display\EntityDisplayInterface;
+use Drupal\field\FieldInstanceInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -79,7 +79,7 @@ protected function buildFieldRow($field_id, FieldInstanceInterface $instance, En
   /**
    * {@inheritdoc}
    */
-  protected function buildExtraFieldRow($field_id, $extra_field, $entity_display) {
+  protected function buildExtraFieldRow($field_id, $extra_field, EntityDisplayInterface $entity_display) {
     $extra_field_row = parent::buildExtraFieldRow($field_id, $extra_field, $entity_display);
 
     // Insert an empty placeholder for the label column.
@@ -150,7 +150,7 @@ protected function getDisplayModes() {
    * {@inheritdoc}
    */
   protected function getDisplayType() {
-    return 'entity_display';
+    return 'entity_view_display';
   }
 
   /**
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 3a9b442..da2eedd 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php
@@ -403,7 +403,7 @@ protected function buildFieldRow($field_id, FieldInstanceInterface $instance, En
    * @return array
    *   A table row array.
    */
-  protected function buildExtraFieldRow($field_id, $extra_field, $entity_display) {
+  protected function buildExtraFieldRow($field_id, $extra_field, EntityDisplayInterface $entity_display) {
     $display_options = $entity_display->getComponent($field_id);
 
     $extra_field_row = array(
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 ec256c3..bf7fc9a 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\field_ui;
 
-use Drupal\Component\Utility\NestedArray;
 use Drupal\Core\Entity\Display\EntityDisplayInterface;
 use Drupal\field\FieldInstanceInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
diff --git a/core/modules/image/lib/Drupal/image/Entity/ImageStyle.php b/core/modules/image/lib/Drupal/image/Entity/ImageStyle.php
index aee3ffc..2d23f17 100644
--- a/core/modules/image/lib/Drupal/image/Entity/ImageStyle.php
+++ b/core/modules/image/lib/Drupal/image/Entity/ImageStyle.php
@@ -145,7 +145,7 @@ protected static function replaceImageStyle(ImageStyleInterface $style) {
     if ($style->id() != $style->getOriginalId()) {
       // Loop through all entity displays looking for formatters / widgets using
       // the image style.
-      foreach (entity_load_multiple('entity_display') as $display) {
+      foreach (entity_load_multiple('entity_view_display') as $display) {
         foreach ($display->getComponents() as $name => $options) {
           if (isset($options['type']) && $options['type'] == 'image' && $options['settings']['image_style'] == $style->getOriginalId()) {
             $options['settings']['image_style'] = $style->id();
diff --git a/core/modules/node/node.api.php b/core/modules/node/node.api.php
index d53673c..a7d5e68 100644
--- a/core/modules/node/node.api.php
+++ b/core/modules/node/node.api.php
@@ -789,8 +789,8 @@ 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\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
- *   node components.
+ *   The entity view display holding the display options configured for the node
+ *   components.
  * @param string $view_mode
  *   The $view_mode parameter from node_view().
  * @param string $langcode
@@ -831,8 +831,8 @@ function hook_node_view(\Drupal\Core\Entity\EntityInterface $node, \Drupal\Core\
  * @param \Drupal\Core\Entity\EntityInterface $node
  *   The node being rendered.
  * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
- *   node components.
+ *   The entity view display holding the display options configured for the node
+ *   components.
  *
  * @see node_view()
  * @see hook_entity_view_alter()
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index 893b8dd..2a2bb81 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -190,9 +190,9 @@ function node_entity_bundle_info() {
 }
 
 /**
- * Implements hook_entity_display_alter().
+ * Implements hook_entity_view_display_alter().
  */
-function node_entity_display_alter(EntityViewDisplayInterface $display, $context) {
+function node_entity_view_display_alter(EntityViewDisplayInterface $display, $context) {
   if ($context['entity_type'] == 'node') {
     // Hide field labels in search index.
     if ($context['view_mode'] == 'search_index') {
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/Tests/DrupalUnitTestBaseTest.php b/core/modules/simpletest/lib/Drupal/simpletest/Tests/DrupalUnitTestBaseTest.php
index 79b65b5..9ac6d07 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/Tests/DrupalUnitTestBaseTest.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/Tests/DrupalUnitTestBaseTest.php
@@ -230,7 +230,7 @@ function testEnableModulesFixedList() {
     $this->enableModules(array('field_test'));
 
     // Create a field and an instance.
-    entity_create('entity_display', array(
+    entity_create('entity_view_display', array(
       'targetEntityType' => 'entity_test',
       'bundle' => 'entity_test',
       'mode' => 'default',
diff --git a/core/modules/system/entity.api.php b/core/modules/system/entity.api.php
index 5ed89cc..5543342 100644
--- a/core/modules/system/entity.api.php
+++ b/core/modules/system/entity.api.php
@@ -438,7 +438,7 @@ function hook_entity_query_alter(\Drupal\Core\Entity\Query\QueryInterface $query
  * @param \Drupal\Core\Entity\EntityInterface $entity
  *   The entity object.
  * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
+ *   The entity view display holding the display options configured for the
  *   entity components.
  * @param $view_mode
  *   The view mode the entity is rendered in.
@@ -484,7 +484,7 @@ function hook_entity_view(\Drupal\Core\Entity\EntityInterface $entity, \Drupal\C
  * @param \Drupal\Core\Entity\EntityInterface $entity
  *   The entity object being rendered.
  * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
+ *   The entity view display holding the display options configured for the
  *   entity components.
  *
  * @see hook_entity_view()
@@ -514,8 +514,8 @@ function hook_entity_view_alter(&$build, Drupal\Core\Entity\EntityInterface $ent
  *   The type of entities being viewed (i.e. node, user, comment).
  * @param array $entities
  *   The entities keyed by entity ID.
- * @param array $display
- *   The array of entity_display objects holding the display options configured
+ * @param \Drupal\Core\Entity\EntityViewDisplayInterface[] $displays
+ *   The array of entity view displays holding the display options configured
  *   for the entity components, keyed by bundle name.
  * @param string $view_mode
  *   The view mode.
@@ -563,7 +563,7 @@ function hook_entity_view_mode_alter(&$view_mode, Drupal\Core\Entity\EntityInter
  * Alters the settings used for displaying an entity.
  *
  * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object that will be used to display the entity
+ *   The entity view display that will be used to display the entity
  *   components.
  * @param array $context
  *   An associative array containing:
@@ -571,7 +571,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\Core\Entity\Display\EntityViewDisplayInterface $display, array $context) {
+function hook_entity_view_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) {
diff --git a/core/modules/taxonomy/taxonomy.api.php b/core/modules/taxonomy/taxonomy.api.php
index 5ddc3c0..5894b3a 100644
--- a/core/modules/taxonomy/taxonomy.api.php
+++ b/core/modules/taxonomy/taxonomy.api.php
@@ -250,8 +250,8 @@ 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\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
- *   term components.
+ *   The entity view display holding the display options configured for the term
+ *   components.
  * @param $view_mode
  *   The $view_mode parameter from taxonomy_term_view().
  * @param $langcode
@@ -289,8 +289,8 @@ function hook_taxonomy_term_view(\Drupal\taxonomy\Entity\Term $term, \Drupal\Cor
  * @param \Drupal\taxonomy\Entity\Term $term
  *   The taxonomy term being rendered.
  * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
- *   term components.
+ *   The entity view display holding the display options configured for the term
+ *   components.
  *
  * @see hook_entity_view_alter()
  */
diff --git a/core/modules/user/user.api.php b/core/modules/user/user.api.php
index 2d2fbd9..a6a10e2 100644
--- a/core/modules/user/user.api.php
+++ b/core/modules/user/user.api.php
@@ -314,8 +314,8 @@ function hook_user_logout($account) {
  * @param \Drupal\user\UserInterface $account
  *   The user object on which the operation is being performed.
  * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
- *   user components.
+ *   The entity view display holding the display options configured for the user
+ *   components.
  * @param $view_mode
  *   View mode, e.g. 'full'.
  * @param $langcode
@@ -354,8 +354,8 @@ function hook_user_view(\Drupal\user\UserInterface $account, \Drupal\Core\Entity
  * @param \Drupal\user\UserInterface $account
  *   The user account being rendered.
  * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
- *   The entity_display object holding the display options configured for the
- *   user components.
+ *   The entity view display holding the display options configured for the user
+ *   components.
  *
  * @see user_view()
  * @see hook_entity_view_alter()
