diff --git a/core/modules/field/lib/Drupal/field/FieldInstanceInterface.php b/core/modules/field/lib/Drupal/field/FieldInstanceInterface.php
index d2a0b85..88962c8 100644
--- a/core/modules/field/lib/Drupal/field/FieldInstanceInterface.php
+++ b/core/modules/field/lib/Drupal/field/FieldInstanceInterface.php
@@ -16,6 +16,110 @@
 interface FieldInstanceInterface extends ConfigEntityInterface, FieldDefinitionInterface, \ArrayAccess, \Serializable {
 
   /**
+   * Returns the field id for this instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The field id for this instance.
+   */
+  public function getId();
+
+  /**
+   * Returns the uuid for this instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The uuid for this instance.
+   */
+  public function getUuid();
+
+  /**
+   * Returns the field uuid for this instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The field uuid for this instance.
+   */
+  public function getFieldUuid();
+
+  /**
+   * Returns the name of the entity type this instance is attached to.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The entity type for this instance.
+   */
+  public function getEntityType();
+
+  /**
+   * Returns the name of the bundle this instance is attached to.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The bundle for this instance.
+   */
+  public function getBundle();
+
+  /**
+   * Returns the label for this field instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The label for this instance.
+   */
+  public function getLabel();
+
+  /**
+   * Returns the description for this field instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The description for this instance.
+   */
+  public function getDescription();
+
+  /**
+   * Returns the settings for this field instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The setting for this instance.
+   */
+  public function settings();
+
+  /**
+   * Returns whether a value is required for this instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The required-ness for this instance.
+   */
+  public function isRequired();
+
+  /**
+   * Returns the default value for this instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The default value for this instance.
+   */
+  public function getDefaultValue();
+
+  /**
+   * Returns the callback function that returns default values for this instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The default value callback function for this instance.
+   */
+  public function getDefaultValueFunction();
+
+  /**
+   * Returns whether this instance is deleted.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The deleted value for this instance.
+   */
+  public function isDeleted();
+
+  /**
+   * Returns the original instance.
+   *
+   * @return \Drupal\field\FieldInterface
+   *   The original instance.
+   */
+  public function getOriginal();
+
+  /**
    * Returns the field entity for this instance.
    *
    * @return \Drupal\field\FieldInterface
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Core/Entity/FieldInstance.php b/core/modules/field/lib/Drupal/field/Plugin/Core/Entity/FieldInstance.php
index cbfb636..ec95364 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Core/Entity/FieldInstance.php
+++ b/core/modules/field/lib/Drupal/field/Plugin/Core/Entity/FieldInstance.php
@@ -42,7 +42,7 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var string
    */
-  public $id;
+  protected $id;
 
   /**
    * The instance UUID.
@@ -51,28 +51,28 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var string
    */
-  public $uuid;
+  protected $uuid;
 
   /**
    * The UUID of the field attached to the bundle by this instance.
    *
    * @var string
    */
-  public $field_uuid;
+  protected $field_uuid;
 
   /**
    * The name of the entity type the instance is attached to.
    *
    * @var string
    */
-  public $entity_type;
+  protected $entity_type;
 
   /**
    * The name of the bundle the instance is attached to.
    *
    * @var string
    */
-  public $bundle;
+  protected $bundle;
 
   /**
    * The human-readable label for the instance.
@@ -85,7 +85,7 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var string
    */
-  public $label;
+  protected $label;
 
   /**
    * The instance description.
@@ -96,7 +96,7 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var string
    */
-  public $description = '';
+  protected $description = '';
 
   /**
    * Field-type specific settings.
@@ -106,7 +106,7 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var array
    */
-  public $settings = array();
+  protected $settings = array();
 
   /**
    * Flag indicating whether the field is required.
@@ -117,7 +117,7 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var bool
    */
-  public $required = FALSE;
+  protected $required = FALSE;
 
   /**
    * Default field value.
@@ -147,7 +147,7 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var array
    */
-  public $default_value = array();
+  protected $default_value = array();
 
   /**
    * The name of a callback function that returns default values.
@@ -169,7 +169,7 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var string
    */
-  public $default_value_function = '';
+  protected $default_value_function = '';
 
   /**
    * Flag indicating whether the instance is deleted.
@@ -184,7 +184,7 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var bool
    */
-  public $deleted = FALSE;
+  protected $deleted = FALSE;
 
   /**
    * The field ConfigEntity object corresponding to $field_uuid.
@@ -205,7 +205,7 @@ class FieldInstance extends ConfigEntityBase implements FieldInstanceInterface {
    *
    * @var \Drupal\field\Plugin\Core\Entity\FieldInstance
    */
-  public $original = NULL;
+  protected $original = NULL;
 
   /**
    * Constructs a FieldInstance object.
@@ -487,6 +487,97 @@ public function delete($field_cleanup = TRUE) {
   /**
    * {@inheritdoc}
    */
+  public function getId() {
+    return $this->id;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getUuid() {
+    return $this->uuid;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFieldUuid() {
+    return $this->field_uuid;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getEntityType() {
+    return $this->entity_type;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getBundle() {
+    return $this->bundle;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getLabel() {
+    return $this->label;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDescription() {
+    return $this->description;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function settings() {
+    return $this->settings;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function isRequired() {
+    return $this->required;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDefaultValue() {
+    return $this->default_value;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDefaultValueFunction() {
+    return $this->default_value_function;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function isDeleted() {
+    return $this->deleted;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getOriginal() {
+    return $this->original;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   public function getField() {
     return $this->field;
   }
@@ -543,14 +634,14 @@ public function isFieldTranslatable() {
    * {@inheritdoc}
    */
   public function getFieldLabel() {
-    return $this->label();
+    return $this->field->label();
   }
 
   /**
    * {@inheritdoc}
    */
   public function getFieldDescription() {
-    return $this->description;
+    return $this->field->description;
   }
 
   /**
@@ -564,7 +655,7 @@ public function getFieldCardinality() {
    * {@inheritdoc}
    */
   public function isFieldRequired() {
-    return $this->required;
+    return $this->field->required;
   }
 
   /**
