diff --git a/core/core.services.yml b/core/core.services.yml
index 465d1458c0b056d3e58e72681ea55acfb3ebaf1f..9afeed255c9693178b88da049b1a759b20df117c 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -38,6 +38,13 @@ services:
     factory_method: get
     factory_service: cache_factory
     arguments: [entity]
+  cache.field:
+    class: Drupal\Core\Cache\CacheBackendInterface
+    tags:
+      - { name: cache.bin }
+    factory_method: get
+    factory_service: cache_factory
+    arguments: [field]
   cache.menu:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
@@ -163,9 +170,15 @@ services:
     arguments: ['@container.namespaces', '@service_container', '@module_handler', '@cache.cache', '@language_manager', '@string_translation']
   plugin.manager.entity:
     alias: entity.manager
-  plugin.manager.entity.field.field_type:
-    class: Drupal\Core\Entity\Field\FieldTypePluginManager
-    arguments: ['@container.namespaces', '@cache.entity', '@language_manager', '@module_handler']
+  plugin.manager.field.field_type:
+    class: Drupal\Core\Field\FieldTypePluginManager
+    arguments: ['@container.namespaces', '@cache.field', '@language_manager', '@module_handler']
+  plugin.manager.field.widget:
+    class: Drupal\Core\Field\WidgetPluginManager
+    arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.field.field_type']
+  plugin.manager.field.formatter:
+    class: Drupal\Core\Field\FormatterPluginManager
+    arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.field.field_type']
   plugin.manager.archiver:
     class: Drupal\Core\Archiver\ArchiverManager
     arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@module_handler']
diff --git a/core/lib/Drupal/Core/Entity/Plugin/DataType/Deriver/FieldItemDeriver.php b/core/lib/Drupal/Core/Entity/Plugin/DataType/Deriver/FieldItemDeriver.php
index 60b47f9a5c1b1dd8043951fe32f810db810e63eb..5e287f756d297157796509743522d4205853df95 100644
--- a/core/lib/Drupal/Core/Entity/Plugin/DataType/Deriver/FieldItemDeriver.php
+++ b/core/lib/Drupal/Core/Entity/Plugin/DataType/Deriver/FieldItemDeriver.php
@@ -56,7 +56,7 @@ public function __construct($base_plugin_id, PluginManagerInterface $field_type_
   public static function create(ContainerInterface $container, $base_plugin_id) {
     return new static(
       $base_plugin_id,
-      $container->get('plugin.manager.entity.field.field_type')
+      $container->get('plugin.manager.field.field_type')
     );
   }
 
diff --git a/core/modules/field/lib/Drupal/field/Annotation/FieldFormatter.php b/core/lib/Drupal/Core/Field/Annotation/FieldFormatter.php
similarity index 86%
rename from core/modules/field/lib/Drupal/field/Annotation/FieldFormatter.php
rename to core/lib/Drupal/Core/Field/Annotation/FieldFormatter.php
index e688a7620d79b2d7da9903dee903a5cd3d306970..1ef899eeea7fb9ba2bba5344cae79ffa89cd1de5 100644
--- a/core/modules/field/lib/Drupal/field/Annotation/FieldFormatter.php
+++ b/core/lib/Drupal/Core/Field/Annotation/FieldFormatter.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Annotation\FieldFormatter.
+ * Contains \Drupal\Core\Field\Annotation\FieldFormatter.
  */
 
-namespace Drupal\field\Annotation;
+namespace Drupal\Core\Field\Annotation;
 
 use Drupal\Component\Annotation\Plugin;
 
@@ -21,8 +21,8 @@
  *
  * @Annotation
  *
- * @see \Drupal\field\Plugin\Type\Formatter\FormatterPluginManager
- * @see \Drupal\field\Plugin\Type\Formatter\FormatterInterface
+ * @see \Drupal\Core\Field\FormatterPluginManager
+ * @see \Drupal\Core\Field\FormatterInterface
  */
 class FieldFormatter extends Plugin {
 
diff --git a/core/lib/Drupal/Core/Entity/Annotation/FieldType.php b/core/lib/Drupal/Core/Field/Annotation/FieldType.php
similarity index 98%
rename from core/lib/Drupal/Core/Entity/Annotation/FieldType.php
rename to core/lib/Drupal/Core/Field/Annotation/FieldType.php
index d9a1a3f4894239bfe438d12953f7b784ba85be84..90d0cf7b154c279b3775c4824784bb6c1026c042 100644
--- a/core/lib/Drupal/Core/Entity/Annotation/FieldType.php
+++ b/core/lib/Drupal/Core/Field/Annotation/FieldType.php
@@ -5,7 +5,7 @@
  * Contains \Drupal\Core\Entity\Annotation\FieldType.
  */
 
-namespace Drupal\Core\Entity\Annotation;
+namespace Drupal\Core\Field\Annotation;
 
 use Drupal\Core\TypedData\Annotation\DataType;
 
diff --git a/core/modules/field/lib/Drupal/field/Annotation/FieldWidget.php b/core/lib/Drupal/Core/Field/Annotation/FieldWidget.php
similarity index 91%
rename from core/modules/field/lib/Drupal/field/Annotation/FieldWidget.php
rename to core/lib/Drupal/Core/Field/Annotation/FieldWidget.php
index 2c8d3394d539ece7edcc1934ecbdb5aab20512a7..982c92e33dc6e802b05ea8fdf85c6e6d478cf2b0 100644
--- a/core/modules/field/lib/Drupal/field/Annotation/FieldWidget.php
+++ b/core/lib/Drupal/Core/Field/Annotation/FieldWidget.php
@@ -5,7 +5,7 @@
  * Contains \Drupal\field\Annotation\FieldWidget.
  */
 
-namespace Drupal\field\Annotation;
+namespace Drupal\Core\Field\Annotation;
 
 use Drupal\Component\Annotation\Plugin;
 
@@ -19,8 +19,8 @@
  *
  * @Annotation
  *
- * @see \Drupal\field\Plugin\Type\Widget\WidgetPluginManager
- * @see \Drupal\field\Plugin\Type\Widget\WidgetInterface
+ * @see \Drupal\Core\Field\WidgetPluginManager
+ * @see \Drupal\Core\Field\WidgetInterface
  */
 class FieldWidget extends Plugin {
 
diff --git a/core/lib/Drupal/Core/Entity/Field/FieldTypePluginManager.php b/core/lib/Drupal/Core/Field/FieldTypePluginManager.php
similarity index 95%
rename from core/lib/Drupal/Core/Entity/Field/FieldTypePluginManager.php
rename to core/lib/Drupal/Core/Field/FieldTypePluginManager.php
index 734608e157eb8c428f7a7d6519be6f88986777a7..1e0900a3d02c1d41462d08d5e59e6f8bc6b68dbe 100644
--- a/core/lib/Drupal/Core/Entity/Field/FieldTypePluginManager.php
+++ b/core/lib/Drupal/Core/Field/FieldTypePluginManager.php
@@ -2,11 +2,10 @@
 
 /**
  * @file
- *
- * Contains \Drupal\Core\Entity\Field\FieldTypePluginManager.
+ * Contains \Drupal\Core\Field\FieldTypePluginManager.
  */
 
-namespace Drupal\Core\Entity\Field;
+namespace Drupal\Core\Field;
 
 use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
@@ -41,7 +40,7 @@ class FieldTypePluginManager extends DefaultPluginManager {
    *   The module handler.
    */
   public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, LanguageManager $language_manager, ModuleHandlerInterface $module_handler) {
-    parent::__construct('Plugin/field/field_type', $namespaces, 'Drupal\Core\Entity\Annotation\FieldType');
+    parent::__construct('Plugin/field/field_type', $namespaces, 'Drupal\Core\Field\Annotation\FieldType');
     $this->alterInfo($module_handler, 'field_info');
     $this->setCacheBackend($cache_backend, $language_manager, 'field_types_plugins');
 
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterBase.php b/core/lib/Drupal/Core/Field/FormatterBase.php
similarity index 97%
rename from core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterBase.php
rename to core/lib/Drupal/Core/Field/FormatterBase.php
index 791e7c2274c9decb0f2bcb26af13db40858dc1d8..361cd076b7beed2fd8707b13dbdb3ca232b4df5b 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterBase.php
+++ b/core/lib/Drupal/Core/Field/FormatterBase.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Plugin\Type\Formatter\FormatterBase.
+ * Contains \Drupal\Core\Field\FormatterBase.
  */
 
-namespace Drupal\field\Plugin\Type\Formatter;
+namespace Drupal\Core\Field;
 
 use Drupal\Core\Entity\Field\FieldDefinitionInterface;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterInterface.php b/core/lib/Drupal/Core/Field/FormatterInterface.php
similarity index 96%
rename from core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterInterface.php
rename to core/lib/Drupal/Core/Field/FormatterInterface.php
index e48828d2bed26696775c0e3a66af2a7db968fc80..b28e2e107b39eb384b1848db6251cbbd486a3386 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterInterface.php
+++ b/core/lib/Drupal/Core/Field/FormatterInterface.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Plugin\Type\Formatter\FormatterInterface.
+ * Contains \Drupal\Core\Field\FormatterInterface.
  */
 
-namespace Drupal\field\Plugin\Type\Formatter;
+namespace Drupal\Core\Field;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 use Drupal\field\Plugin\PluginSettingsInterface;
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterPluginManager.php b/core/lib/Drupal/Core/Field/FormatterPluginManager.php
similarity index 92%
rename from core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterPluginManager.php
rename to core/lib/Drupal/Core/Field/FormatterPluginManager.php
index 955bea721fe91fc7a076df380e82531c05543f6d..4a7b16b2aa67b4b5dd5142a036201652689ee1e5 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterPluginManager.php
+++ b/core/lib/Drupal/Core/Field/FormatterPluginManager.php
@@ -2,14 +2,13 @@
 
 /**
  * @file
- * Definition of Drupal\field\Plugin\Type\Formatter\FormatterPluginManager..
+ * Contains \Drupal\Core\Field\FormatterPluginManager.
  */
 
-namespace Drupal\field\Plugin\Type\Formatter;
+namespace Drupal\Core\Field;
 
 use Drupal\Component\Plugin\Factory\DefaultFactory;
 use Drupal\Core\Cache\CacheBackendInterface;
-use Drupal\Core\Entity\Field\FieldTypePluginManager;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Language\LanguageManager;
 use Drupal\Core\Plugin\DefaultPluginManager;
@@ -29,7 +28,7 @@ class FormatterPluginManager extends DefaultPluginManager {
   /**
    * The field type manager to define field.
    *
-   * @var \Drupal\Core\Entity\Field\FieldTypePluginManager
+   * @var \Drupal\Core\Field\FieldTypePluginManager
    */
   protected $fieldTypeManager;
 
@@ -45,12 +44,12 @@ class FormatterPluginManager extends DefaultPluginManager {
    *   The module handler.
    * @param \Drupal\Core\Language\LanguageManager $language_manager
    *   The language manager.
-   * @param \Drupal\Core\Entity\Field\FieldTypePluginManager $field_type_manager
+   * @param \Drupal\Core\Field\FieldTypePluginManager $field_type_manager
    *   The 'field type' plugin manager.
    */
   public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler, LanguageManager $language_manager, FieldTypePluginManager $field_type_manager) {
 
-    parent::__construct('Plugin/field/formatter', $namespaces, 'Drupal\field\Annotation\FieldFormatter');
+    parent::__construct('Plugin/Field/FieldFormatter', $namespaces, 'Drupal\Core\Field\Annotation\FieldFormatter');
 
     $this->setCacheBackend($cache_backend, $language_manager, 'field_formatter_types_plugins');
     $this->alterInfo($module_handler, 'field_formatter_info');
@@ -66,7 +65,7 @@ public function createInstance($plugin_id, array $configuration) {
 
     // @todo This is copied from \Drupal\Core\Plugin\Factory\ContainerFactory.
     //   Find a way to restore sanity to
-    //   \Drupal\field\Plugin\Type\Formatter\FormatterBase::__construct().
+    //   \Drupal\Core\Field\FormatterBase::__construct().
     // If the plugin provides a factory method, pass the container to it.
     if (is_subclass_of($plugin_class, 'Drupal\Core\Plugin\ContainerFactoryPluginInterface')) {
       return $plugin_class::create(\Drupal::getContainer(), $configuration, $plugin_id, $plugin_definition);
@@ -96,7 +95,7 @@ public function createInstance($plugin_id, array $configuration) {
    *     - settings: (array) Settings specific to the formatter. Each setting
    *       defaults to the default value specified in the formatter definition.
    *
-   * @return \Drupal\field\Plugin\Type\Formatter\FormatterInterface
+   * @return \Drupal\Core\Field\FormatterInterface
    *   A formatter object.
    */
   public function getInstance(array $options) {
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetBase.php b/core/lib/Drupal/Core/Field/WidgetBase.php
similarity index 97%
rename from core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetBase.php
rename to core/lib/Drupal/Core/Field/WidgetBase.php
index 564ec205173f480ad6153f32feaead94d0f00e54..c25523d8d62164b503e1da522bbc369011fced0c 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetBase.php
+++ b/core/lib/Drupal/Core/Field/WidgetBase.php
@@ -2,15 +2,14 @@
 
 /**
  * @file
- * Contains \Drupal\field\Plugin\Type\Widget\WidgetBase.
+ * Contains \Drupal\Core\Field\WidgetBase.
  */
 
-namespace Drupal\field\Plugin\Type\Widget;
+namespace Drupal\Core\Field;
 
 use Drupal\Component\Utility\NestedArray;
 use Drupal\Core\Entity\Field\FieldDefinitionInterface;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\FieldInstanceInterface;
 use Drupal\field\Plugin\PluginSettingsBase;
 use Symfony\Component\Validator\ConstraintViolationInterface;
 
@@ -374,7 +373,7 @@ public function flagErrors(FieldItemListInterface $items, array $form, array &$f
   }
 
   /**
-   * Implements Drupal\field\Plugin\Type\Widget\WidgetInterface::settingsForm().
+   * {@inheritdoc}
    */
   public function settingsForm(array $form, array &$form_state) {
     return array();
@@ -388,14 +387,14 @@ public function settingsSummary() {
   }
 
   /**
-   * Implements Drupal\field\Plugin\Type\Widget\WidgetInterface::errorElement().
+   * {@inheritdoc}
    */
   public function errorElement(array $element, ConstraintViolationInterface $error, array $form, array &$form_state) {
     return $element;
   }
 
   /**
-   * Implements Drupal\field\Plugin\Type\Widget\WidgetInterface::massageFormValues()
+   * {@inheritdoc}
    */
   public function massageFormValues(array $values, array $form, array &$form_state) {
     return $values;
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetBaseInterface.php b/core/lib/Drupal/Core/Field/WidgetBaseInterface.php
similarity index 89%
rename from core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetBaseInterface.php
rename to core/lib/Drupal/Core/Field/WidgetBaseInterface.php
index 110e182431811bebb019e49583b98f19aa8d4707..3baf4527510e65f4ef9cf2af97c7ec7ea2db2a02 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetBaseInterface.php
+++ b/core/lib/Drupal/Core/Field/WidgetBaseInterface.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Definition of Drupal\field\Plugin\Type\Widget\WidgetBaseInterface.
+ * Contains \Drupal\Core\Field\WidgetBaseInterface.
  */
 
-namespace Drupal\field\Plugin\Type\Widget;
+namespace Drupal\Core\Field;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 use Drupal\field\Plugin\PluginSettingsInterface;
@@ -14,8 +14,8 @@
  * Base interface definition for "Field widget" plugins.
  *
  * This interface details base wrapping methods that most widget implementations
- * will want to directly inherit from Drupal\field\Plugin\Type\Widget\WidgetBase.
- * See Drupal\field\Plugin\Type\Widget\WidgetInterface for methods that will more
+ * will want to directly inherit from Drupal\Core\Field\WidgetBase.
+ * See Drupal\Core\Field\WidgetInterface for methods that will more
  * likely be overriden.
  */
 interface WidgetBaseInterface extends PluginSettingsInterface {
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetFactory.php b/core/lib/Drupal/Core/Field/WidgetFactory.php
similarity index 85%
rename from core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetFactory.php
rename to core/lib/Drupal/Core/Field/WidgetFactory.php
index 4b7cb6b1bebadcdb110b982e90b6e81cbe43b663..49a252aa9d6c685f81a00c0bab60db46c8707881 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetFactory.php
+++ b/core/lib/Drupal/Core/Field/WidgetFactory.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Plugin\WidgetFactory.
+ * Contains \Drupal\Core\Field\WidgetFactory.
  */
 
-namespace Drupal\field\Plugin\Type\Widget;
+namespace Drupal\Core\Field;
 
 use Drupal\Component\Plugin\Factory\DefaultFactory;
 
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetInterface.php b/core/lib/Drupal/Core/Field/WidgetInterface.php
similarity index 96%
rename from core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetInterface.php
rename to core/lib/Drupal/Core/Field/WidgetInterface.php
index ddab487af983c45bd8e83ef32a2442d843b79e16..da17c9a0de785d19b145d690ba5a52ba7f06b5dd 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetInterface.php
+++ b/core/lib/Drupal/Core/Field/WidgetInterface.php
@@ -2,11 +2,12 @@
 
 /**
  * @file
- * Definition of Drupal\field\Plugin\Type\Widget\WidgetInterface.
+ * Contains \Drupal\Core\Field\WidgetInterface.
  */
 
-namespace Drupal\field\Plugin\Type\Widget;
+namespace Drupal\Core\Field;
 
+use Drupal\Core\Field\WidgetBaseInterface;
 use Symfony\Component\Validator\ConstraintViolationInterface;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
@@ -14,9 +15,9 @@
  * Interface definition for field widget plugins.
  *
  * This interface details the methods that most plugin implementations will want
- * to override. See Drupal\field\Plugin\Type\Widget\WidgetBaseInterface for base
+ * to override. See Drupal\Core\Field\WidgetBaseInterface for base
  * wrapping methods that should most likely be inherited directly from
- * Drupal\field\Plugin\Type\Widget\WidgetBase..
+ * Drupal\Core\Field\WidgetBase..
  */
 interface WidgetInterface extends WidgetBaseInterface {
 
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetPluginManager.php b/core/lib/Drupal/Core/Field/WidgetPluginManager.php
similarity index 93%
rename from core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetPluginManager.php
rename to core/lib/Drupal/Core/Field/WidgetPluginManager.php
index 13a048ab1c57443f5af73adec23ba7edd4e910b2..d6700737a7ea6c2bc7c364807f8fef2f24be4522 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetPluginManager.php
+++ b/core/lib/Drupal/Core/Field/WidgetPluginManager.php
@@ -2,14 +2,13 @@
 
 /**
  * @file
- * Definition of Drupal\field\Plugin\Type\Widget\WidgetPluginManager.
+ * Contains \Drupal\Core\Field\WidgetPluginManager.
  */
 
-namespace Drupal\field\Plugin\Type\Widget;
+namespace Drupal\Core\Field;
 
 use Drupal\Component\Plugin\Factory\DefaultFactory;
 use Drupal\Core\Cache\CacheBackendInterface;
-use Drupal\Core\Entity\Field\FieldTypePluginManager;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Language\LanguageManager;
 use Drupal\Core\Plugin\DefaultPluginManager;
@@ -22,7 +21,7 @@ class WidgetPluginManager extends DefaultPluginManager {
   /**
    * The field type manager to define field.
    *
-   * @var \Drupal\Core\Entity\Field\FieldTypePluginManager
+   * @var \Drupal\Core\Field\FieldTypePluginManager
    */
   protected $fieldTypeManager;
 
@@ -45,11 +44,11 @@ class WidgetPluginManager extends DefaultPluginManager {
    *   The module handler.
    * @param \Drupal\Core\Language\LanguageManager $language_manager
    *   The language manager.
-   * @param \Drupal\Core\Entity\Field\FieldTypePluginManager $field_type_manager
+   * @param \Drupal\Core\Field\FieldTypePluginManager $field_type_manager
    *   The 'field type' plugin manager.
    */
   public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler, LanguageManager $language_manager, FieldTypePluginManager $field_type_manager) {
-    parent::__construct('Plugin/field/widget', $namespaces, 'Drupal\field\Annotation\FieldWidget');
+    parent::__construct('Plugin/Field/FieldWidget', $namespaces, 'Drupal\Core\Field\Annotation\FieldWidget');
 
     $this->setCacheBackend($cache_backend, $language_manager, 'field_widget_types_plugins');
     $this->alterInfo($module_handler, 'field_widget_info');
@@ -76,7 +75,7 @@ public function __construct(\Traversable $namespaces, CacheBackendInterface $cac
    *     - settings: (array) Settings specific to the widget. Each setting
    *       defaults to the default value specified in the widget definition.
    *
-   * @return \Drupal\field\Plugin\Type\Widget\WidgetInterface
+   * @return \Drupal\Core\Field\WidgetInterface
    *   A Widget object.
    */
   public function getInstance(array $options) {
diff --git a/core/lib/Drupal/Core/TypedData/AllowedValuesInterface.php b/core/lib/Drupal/Core/TypedData/AllowedValuesInterface.php
index bc589896bd5ac3a03fdb74c29f534390c798d76b..9abe52daff997a02e1dcb0f74f0a578bbfefe021 100644
--- a/core/lib/Drupal/Core/TypedData/AllowedValuesInterface.php
+++ b/core/lib/Drupal/Core/TypedData/AllowedValuesInterface.php
@@ -24,7 +24,7 @@
  * as structured options arrays that can be used in an Options widget such as a
  * select box or checkboxes.
  *
- * @see \Drupal\options\Plugin\field\widget\OptionsWidgetBase
+ * @see \Drupal\options\Plugin\Field\FieldWidget\OptionsWidgetBase
  */
 interface AllowedValuesInterface {
 
diff --git a/core/modules/comment/lib/Drupal/comment/Plugin/field/formatter/CommentDefaultFormatter.php b/core/modules/comment/lib/Drupal/comment/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php
similarity index 96%
rename from core/modules/comment/lib/Drupal/comment/Plugin/field/formatter/CommentDefaultFormatter.php
rename to core/modules/comment/lib/Drupal/comment/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php
index 98c89d515322c09314ff6aae8615b1c8cdcc3e15..18ec31e79589513a5096a790b5d8d19310a7d497 100644
--- a/core/modules/comment/lib/Drupal/comment/Plugin/field/formatter/CommentDefaultFormatter.php
+++ b/core/modules/comment/lib/Drupal/comment/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php
@@ -2,17 +2,17 @@
 
 /**
  * @file
- * Contains \Drupal\comment\Plugin\field\formatter\CommentDefaultFormatter.
+ * Contains \Drupal\comment\Plugin\Field\FieldFormatter\CommentDefaultFormatter.
  */
 
-namespace Drupal\comment\Plugin\field\formatter;
+namespace Drupal\comment\Plugin\Field\FieldFormatter;
 
 use Drupal\comment\CommentStorageControllerInterface;
 use Drupal\Core\Entity\EntityRenderControllerInterface;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\Core\Entity\Field\FieldDefinitionInterface;
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
diff --git a/core/modules/comment/lib/Drupal/comment/Plugin/field/widget/CommentWidget.php b/core/modules/comment/lib/Drupal/comment/Plugin/Field/FieldWidget/CommentWidget.php
similarity index 95%
rename from core/modules/comment/lib/Drupal/comment/Plugin/field/widget/CommentWidget.php
rename to core/modules/comment/lib/Drupal/comment/Plugin/Field/FieldWidget/CommentWidget.php
index b1da3b0cc339c13a05d6063c3af46618b0fab0b1..1d6fd8b7ea3244c0329f94bdd9c1cf1cbd55cd27 100644
--- a/core/modules/comment/lib/Drupal/comment/Plugin/field/widget/CommentWidget.php
+++ b/core/modules/comment/lib/Drupal/comment/Plugin/Field/FieldWidget/CommentWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\comment\Plugin\field\widget\CommentWidget.
+ * Contains \Drupal\comment\Plugin\Field\FieldWidget\CommentWidget.
  */
 
-namespace Drupal\comment\Plugin\field\widget;
+namespace Drupal\comment\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 
 /**
  * Provides a default comment widget.
diff --git a/core/modules/datetime/datetime.module b/core/modules/datetime/datetime.module
index c6d9af0831dbb8c1fcc42ff606205912bb4988dd..da339893a027fc0b94ab032043c15e127af12b8d 100644
--- a/core/modules/datetime/datetime.module
+++ b/core/modules/datetime/datetime.module
@@ -171,7 +171,7 @@ function datetime_datelist_widget_validate(&$element, &$form_state) {
  * Sets a default value for an empty date field.
  *
  * Callback for $instance['default_value_function'], as implemented by
- * Drupal\datetime\Plugin\field\widget\DateTimeDatepicker.
+ * Drupal\datetime\Plugin\Field\FieldWidget\DateTimeDatepicker.
  *
  * @param $entity_type
  *
diff --git a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/formatter/DatetimeDefaultFormatter.php b/core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldFormatter/DatetimeDefaultFormatter.php
similarity index 96%
rename from core/modules/datetime/lib/Drupal/datetime/Plugin/field/formatter/DatetimeDefaultFormatter.php
rename to core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldFormatter/DatetimeDefaultFormatter.php
index 71315d07ebaab5a92f95533d2573e3232d10cdc2..757f6500ff4df76b0e75c67a3299a729346f4ba8 100644
--- a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/formatter/DatetimeDefaultFormatter.php
+++ b/core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldFormatter/DatetimeDefaultFormatter.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\datetime\Plugin\field\formatter\DateTimeDefaultFormatter.
+ * Contains \Drupal\datetime\Plugin\Field\FieldFormatter\DateTimeDefaultFormatter.
  */
 
-namespace Drupal\datetime\Plugin\field\formatter;
+namespace Drupal\datetime\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Datetime\Date;
 use Drupal\Core\Datetime\DrupalDateTime;
@@ -13,7 +13,7 @@
 use Drupal\Core\Entity\Field\FieldDefinitionInterface;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
diff --git a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/formatter/DatetimePlainFormatter.php b/core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldFormatter/DatetimePlainFormatter.php
similarity index 87%
rename from core/modules/datetime/lib/Drupal/datetime/Plugin/field/formatter/DatetimePlainFormatter.php
rename to core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldFormatter/DatetimePlainFormatter.php
index 978e007a7368f828e58abf4a04f0c0424f197db3..a52b78d2bf25d67874669c50bd8a1f3cebe31e2e 100644
--- a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/formatter/DatetimePlainFormatter.php
+++ b/core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldFormatter/DatetimePlainFormatter.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Contains \Drupal\datetime\Plugin\field\formatter\DateTimePlainFormatter.
+ * Contains \Drupal\datetime\Plugin\Field\FieldFormatter\DateTimePlainFormatter.
  */
 
-namespace Drupal\datetime\Plugin\field\formatter;
+namespace Drupal\datetime\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/widget/DatetimeDatelistWidget.php b/core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldWidget/DatetimeDatelistWidget.php
similarity index 97%
rename from core/modules/datetime/lib/Drupal/datetime/Plugin/field/widget/DatetimeDatelistWidget.php
rename to core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldWidget/DatetimeDatelistWidget.php
index 7bfd26a667c7ab325c997c5ea3b02ee9e9833882..417e1857d4edca3b862ae5a1a0e928bd4e2c4046 100644
--- a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/widget/DatetimeDatelistWidget.php
+++ b/core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldWidget/DatetimeDatelistWidget.php
@@ -1,13 +1,13 @@
 <?php
 /**
  * @file
- * Contains \Drupal\datetime\Plugin\field\widget\DateTimeDatelistWidget.
+ * Contains \Drupal\datetime\Plugin\Field\FieldWidget\DateTimeDatelistWidget.
  */
 
-namespace Drupal\datetime\Plugin\field\widget;
+namespace Drupal\datetime\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 use Drupal\Core\Entity\Field\FieldDefinitionInterface;
 use Drupal\field\FieldInstanceInterface;
 use Drupal\datetime\DateHelper;
diff --git a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/widget/DatetimeDefaultWidget.php b/core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldWidget/DatetimeDefaultWidget.php
similarity index 96%
rename from core/modules/datetime/lib/Drupal/datetime/Plugin/field/widget/DatetimeDefaultWidget.php
rename to core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldWidget/DatetimeDefaultWidget.php
index 69400d51edc25bbd90aba3de390cc3c0ae237cff..90fb4881753a67db01eb016c6cf04a51c441ab4e 100644
--- a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/widget/DatetimeDefaultWidget.php
+++ b/core/modules/datetime/lib/Drupal/datetime/Plugin/Field/FieldWidget/DatetimeDefaultWidget.php
@@ -1,13 +1,13 @@
 <?php
 /**
  * @file
- * Contains \Drupal\datetime\Plugin\field\widget\DateTimeDefaultWidget.
+ * Contains \Drupal\datetime\Plugin\Field\FieldWidget\DateTimeDefaultWidget.
  */
 
-namespace Drupal\datetime\Plugin\field\widget;
+namespace Drupal\datetime\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 use Drupal\Core\Entity\Field\FieldDefinitionInterface;
 use Drupal\field\FieldInstanceInterface;
 
diff --git a/core/modules/edit/lib/Drupal/edit/EditorSelector.php b/core/modules/edit/lib/Drupal/edit/EditorSelector.php
index b59a68c95f24697b6fdddfa2dee030681f9ab376..50f113c3fa87f28855d81597573f9b45e1aac600 100644
--- a/core/modules/edit/lib/Drupal/edit/EditorSelector.php
+++ b/core/modules/edit/lib/Drupal/edit/EditorSelector.php
@@ -10,7 +10,7 @@
 use Drupal\Component\Plugin\PluginManagerInterface;
 use Drupal\Component\Utility\NestedArray;
 use Drupal\Core\Entity\Field\FieldDefinitionInterface;
-use Drupal\field\Plugin\Type\Formatter\FormatterPluginManager;
+use Drupal\Core\Field\FormatterPluginManager;
 
 /**
  * Selects an in-place editor (an Editor plugin) for a field.
@@ -27,7 +27,7 @@ class EditorSelector implements EditorSelectorInterface {
   /**
    * The manager for formatter plugins.
    *
-   * @var \Drupal\field\Plugin\Type\Formatter\FormatterPluginManager.
+   * @var \Drupal\Core\Field\FormatterPluginManager.
    */
   protected $formatterManager;
 
@@ -43,7 +43,7 @@ class EditorSelector implements EditorSelectorInterface {
    *
    * @param \Drupal\Component\Plugin\PluginManagerInterface
    *   The manager for editor plugins.
-   * @param \Drupal\field\Plugin\Type\Formatter\FormatterPluginManager
+   * @param \Drupal\Core\Field\FormatterPluginManager
    *   The manager for formatter plugins.
    */
   public function __construct(PluginManagerInterface $editor_manager, FormatterPluginManager $formatter_manager) {
diff --git a/core/modules/email/lib/Drupal/email/Plugin/field/formatter/MailToFormatter.php b/core/modules/email/lib/Drupal/email/Plugin/Field/FieldFormatter/MailToFormatter.php
similarity index 71%
rename from core/modules/email/lib/Drupal/email/Plugin/field/formatter/MailToFormatter.php
rename to core/modules/email/lib/Drupal/email/Plugin/Field/FieldFormatter/MailToFormatter.php
index 6c30d270688a6630c08aa6ad80cd8155404373b1..38b3c08d136a86f6da144458d9610cf053eb78d2 100644
--- a/core/modules/email/lib/Drupal/email/Plugin/field/formatter/MailToFormatter.php
+++ b/core/modules/email/lib/Drupal/email/Plugin/Field/FieldFormatter/MailToFormatter.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Definition of Drupal\email\Plugin\field\formatter\MailToFormatter.
+ * Contains \Drupal\email\Plugin\Field\FieldFormatter\MailToFormatter.
  */
 
-namespace Drupal\email\Plugin\field\formatter;
+namespace Drupal\email\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
@@ -24,7 +24,7 @@
 class MailToFormatter extends FormatterBase {
 
   /**
-   * Implements Drupal\field\Plugin\Type\Formatter\FormatterInterface::viewElements().
+   * {@inheritdoc}
    */
   public function viewElements(FieldItemListInterface $items) {
     $elements = array();
diff --git a/core/modules/email/lib/Drupal/email/Plugin/field/widget/EmailDefaultWidget.php b/core/modules/email/lib/Drupal/email/Plugin/Field/FieldWidget/EmailDefaultWidget.php
similarity index 82%
rename from core/modules/email/lib/Drupal/email/Plugin/field/widget/EmailDefaultWidget.php
rename to core/modules/email/lib/Drupal/email/Plugin/Field/FieldWidget/EmailDefaultWidget.php
index 87352657de98f5960f11a0308cdab054cba6a2c4..33a9820e973965c42956c0f90510adebd8e306e1 100644
--- a/core/modules/email/lib/Drupal/email/Plugin/field/widget/EmailDefaultWidget.php
+++ b/core/modules/email/lib/Drupal/email/Plugin/Field/FieldWidget/EmailDefaultWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Definition of Drupal\email\Plugin\field\widget\EmailDefaultWidget.
+ * Definition of Drupal\email\Plugin\Field\FieldWidget\EmailDefaultWidget.
  */
 
-namespace Drupal\email\Plugin\field\widget;
+namespace Drupal\email\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 
 /**
  * Plugin implementation of the 'email_default' widget.
@@ -27,7 +27,7 @@
 class EmailDefaultWidget extends WidgetBase {
 
   /**
-   * Implements Drupal\field\Plugin\Type\Widget\WidgetInterface::settingsForm().
+   * {@inheritdoc}
    */
   public function settingsForm(array $form, array &$form_state) {
     $element['placeholder'] = array(
@@ -57,7 +57,7 @@ public function settingsSummary() {
   }
 
   /**
-   * Implements Drupal\field\Plugin\Type\Widget\WidgetInterface::formElement().
+   * {@inheritdoc}
    */
   public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, array &$form_state) {
     $element['value'] = $element + array(
diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php
index c8f38f73a8d4d5962f4018ec7b87a71032007e47..5fe5f89e954714063cdd894930f0efa99e3a7c51 100644
--- a/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php
+++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php
@@ -156,7 +156,7 @@ public function testFieldComponent() {
 
     // Check that providing no options results in default values being used.
     $display->setComponent($field_name);
-    $field_type_info = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field->type);
+    $field_type_info = \Drupal::service('plugin.manager.field.field_type')->getDefinition($field->type);
     $default_formatter = $field_type_info['default_formatter'];
     $formatter_settings =  \Drupal::service('plugin.manager.field.formatter')->getDefinition($default_formatter);
     $expected = array(
diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityFormDisplayTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityFormDisplayTest.php
index 84bbe110e36cc8c06bb9dffd1e17ecd3a7b5167f..a364b3f8d3b248689a11ba7c7cba7e6658f7eff4 100644
--- a/core/modules/entity/lib/Drupal/entity/Tests/EntityFormDisplayTest.php
+++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityFormDisplayTest.php
@@ -78,7 +78,7 @@ public function testFieldComponent() {
 
     // Check that providing no options results in default values being used.
     $form_display->setComponent($field_name);
-    $field_type_info = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field->type);
+    $field_type_info = \Drupal::service('plugin.manager.field.field_type')->getDefinition($field->type);
     $default_widget = $field_type_info['default_widget'];
     $widget_settings = \Drupal::service('plugin.manager.field.widget')->getDefinition($default_widget);
     $expected = array(
diff --git a/core/modules/entity_reference/entity_reference.module b/core/modules/entity_reference/entity_reference.module
index fb78bfa03481815dca29fbf77d5fe5e04c5b2187..a9bd8fcb46251f14ffdf16a06182eb23e723766e 100644
--- a/core/modules/entity_reference/entity_reference.module
+++ b/core/modules/entity_reference/entity_reference.module
@@ -223,7 +223,7 @@ function entity_reference_query_entity_reference_alter(AlterableInterface $query
  */
 function entity_reference_create_instance($entity_type, $bundle, $field_name, $field_label, $target_entity_type, $selection_handler = 'default', $selection_handler_settings = array()) {
   // If a field type we know should exist isn't found, clear the field cache.
-  if (!\Drupal::service('plugin.manager.entity.field.field_type')->getDefinition('entity_reference')) {
+  if (!\Drupal::service('plugin.manager.field.field_type')->getDefinition('entity_reference')) {
     field_cache_clear();
   }
 
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceEntityFormatter.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceEntityFormatter.php
similarity index 93%
rename from core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceEntityFormatter.php
rename to core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceEntityFormatter.php
index 30be80f4e9d18e70e82fc992601c9854e4c56e5c..0daf4d138c94967e1c3f6961ea08d5c0e895bdf1 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceEntityFormatter.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceEntityFormatter.php
@@ -2,14 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\entity_reference\Plugin\field\formatter\EntityReferenceEntityFormatter.
+ * Contains \Drupal\entity_reference\Plugin\Field\FieldFormatter\EntityReferenceEntityFormatter.
  */
 
-namespace Drupal\entity_reference\Plugin\field\formatter;
+namespace Drupal\entity_reference\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 use Drupal\entity_reference\RecursiveRenderingException;
-use Drupal\entity_reference\Plugin\field\formatter\EntityReferenceFormatterBase;
 
 /**
  * Plugin implementation of the 'entity reference rendered entity' formatter.
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceFormatterBase.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php
similarity index 89%
rename from core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceFormatterBase.php
rename to core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php
index a61f49d7e9382f936498f4e2ae1bf254b0ad9cb8..8cf1bf797afc004a2787294ed298c1b44b2cfde5 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceFormatterBase.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Contains \Drupal\entity_reference\Plugin\field\formatter\EntityReferenceFormatterBase.
+ * Contains \Drupal\entity_reference\Plugin\Field\FieldFormatter\EntityReferenceFormatterBase.
  */
 
-namespace Drupal\entity_reference\Plugin\field\formatter;
+namespace Drupal\entity_reference\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 
 /**
  * Parent plugin for entity reference formatters.
@@ -15,7 +15,7 @@
 abstract class EntityReferenceFormatterBase extends FormatterBase {
 
   /**
-   * Overrides \Drupal\field\Plugin\Type\Formatter\FormatterBase::prepareView().
+   * {@inheritdoc}
    *
    * Mark the accessible IDs a user can see. We do not unset unaccessible
    * values, as other may want to act on those values, even if they can
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceIdFormatter.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceIdFormatter.php
similarity index 73%
rename from core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceIdFormatter.php
rename to core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceIdFormatter.php
index f06e963f82e4357509c8f727c1640d2ee15a0756..c951af8ac0a8a1e56019b4a2763cd3e007c028b6 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceIdFormatter.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceIdFormatter.php
@@ -2,13 +2,12 @@
 
 /**
  * @file
- * Contains \Drupal\entity_reference\Plugin\field\formatter\EntityReferenceIdFormatter.
+ * Contains \Drupal\entity_reference\Plugin\Field\FieldFormatter\EntityReferenceIdFormatter.
  */
 
-namespace Drupal\entity_reference\Plugin\field\formatter;
+namespace Drupal\entity_reference\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\entity_reference\Plugin\field\formatter\EntityReferenceFormatterBase;
 
 /**
  * Plugin implementation of the 'entity reference ID' formatter.
@@ -25,7 +24,7 @@
 class EntityReferenceIdFormatter extends EntityReferenceFormatterBase {
 
   /**
-   * Overrides \Drupal\entity_reference\Plugin\field\formatter\EntityReferenceFormatterBase::viewElements().
+   * {@inheritdoc}
    */
   public function viewElements(FieldItemListInterface $items) {
     $elements = array();
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceLabelFormatter.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php
similarity index 89%
rename from core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceLabelFormatter.php
rename to core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php
index 6d9625eb297f91a7a4806d6dc73e691e90e6200c..a25d1f4a5798ec81639c3f3e945c9d561601110c 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceLabelFormatter.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php
@@ -2,13 +2,12 @@
 
 /**
  * @file
- * Contains \Drupal\entity_reference\Plugin\field\formatter\EntityReferenceLabelFormatter.
+ * Contains \Drupal\entity_reference\Plugin\Field\FieldFormatter\EntityReferenceLabelFormatter.
  */
 
-namespace Drupal\entity_reference\Plugin\field\formatter;
+namespace Drupal\entity_reference\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\entity_reference\Plugin\field\formatter\EntityReferenceFormatterBase;
 
 /**
  * Plugin implementation of the 'entity reference label' formatter.
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteTagsWidget.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteTagsWidget.php
similarity index 91%
rename from core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteTagsWidget.php
rename to core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteTagsWidget.php
index 7f54d9b0b320ff09bc11dcc55bab4c44c84de562..abcbde47a5ceb8a7cd7b7cec8fc4d5999d3b6424 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteTagsWidget.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteTagsWidget.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Contains \Drupal\entity_reference\Plugin\field\widget\AutocompleteTagsWidget.
+ * Contains \Drupal\entity_reference\Plugin\Field\FieldWidget\AutocompleteTagsWidget.
  */
 
-namespace Drupal\entity_reference\Plugin\field\widget;
+namespace Drupal\entity_reference\Plugin\Field\FieldWidget;
 
-use Drupal\entity_reference\Plugin\field\widget\AutocompleteWidgetBase;
+use Drupal\entity_reference\Plugin\Field\FieldWidget\AutocompleteWidgetBase;
 
 /**
  * Plugin implementation of the 'entity_reference autocomplete-tags' widget.
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidget.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidget.php
similarity index 93%
rename from core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidget.php
rename to core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidget.php
index b45b9b8d6681f5cf22be05060045c6c8c98a6254..a30d804fa9c99aeaa0e9a30d806c56fd9ade4dae 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidget.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\entity_reference\Plugin\field\widget\AutocompleteWidget.
+ * Contains \Drupal\entity_reference\Plugin\Field\FieldWidget\AutocompleteWidget.
  */
 
-namespace Drupal\entity_reference\Plugin\field\widget;
+namespace Drupal\entity_reference\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\entity_reference\Plugin\field\widget\AutocompleteWidgetBase;
+use Drupal\entity_reference\Plugin\Field\FieldWidget\AutocompleteWidgetBase;
 
 /**
  * Plugin implementation of the 'entity_reference autocomplete' widget.
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidgetBase.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidgetBase.php
similarity index 97%
rename from core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidgetBase.php
rename to core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidgetBase.php
index 6e55f2b4060ea3f616d081770a6c0fe83b585646..3bcbd94672e43a7328b124131025bd23f8bdb5c1 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidgetBase.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidgetBase.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\entity_reference\Plugin\field\widget\AutocompleteWidgetBase.
+ * Contains \Drupal\entity_reference\Plugin\Field\FieldWidget\AutocompleteWidgetBase.
  */
 
-namespace Drupal\entity_reference\Plugin\field\widget;
+namespace Drupal\entity_reference\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 use Symfony\Component\Validator\ConstraintViolationInterface;
 
 /**
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Type/Selection/SelectionInterface.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Type/Selection/SelectionInterface.php
index 267dd09db4c160a1d40af778435d73cacb7b412b..f9d94ec6a291f84c2c3ce937f033e35d9f5f423b 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Type/Selection/SelectionInterface.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Type/Selection/SelectionInterface.php
@@ -59,7 +59,7 @@ public function validateReferenceableEntities(array $ids);
    * @return integer|null
    *   Value of a matching entity ID, or NULL if none.
    *
-   * @see \Drupal\entity_reference\Plugin\field\widget::elementValidate()
+   * @see \Drupal\entity_reference\Plugin\Field\FieldWidget::elementValidate()
    */
   public function validateAutocompleteInput($input, &$element, &$form_state, $form, $strict = TRUE);
 
diff --git a/core/modules/field/field.api.php b/core/modules/field/field.api.php
index 8b9bc121196b986a86032e1b0ec0806994e7cf39..72798b374df51777f11d30a61f13902821e6dd5e 100644
--- a/core/modules/field/field.api.php
+++ b/core/modules/field/field.api.php
@@ -153,10 +153,10 @@ function hook_field_info_alter(&$info) {
  * which widget to use.
  *
  * Widgets are Plugins managed by the
- * Drupal\field\Plugin\Type\Widget\WidgetPluginManager class. A widget is
+ * Drupal\Core\Field\WidgetPluginManager class. A widget is
  * implemented by providing a class that implements
- * Drupal\field\Plugin\Type\Widget\WidgetInterface (in most cases, by
- * subclassing Drupal\field\Plugin\Type\Widget\WidgetBase), and provides the
+ * Drupal\Core\Field\WidgetInterface (in most cases, by
+ * subclassing Drupal\Core\Field\WidgetBase), and provides the
  * proper annotation block.
  *
  * Widgets are @link forms_api_reference.html Form API @endlink
@@ -204,7 +204,7 @@ function hook_field_widget_info_alter(array &$info) {
  *   - default: A boolean indicating whether the form is being shown as a dummy
  *     form to set default values.
  *
- * @see \Drupal\field\Plugin\Type\Widget\WidgetBase::formSingleElement()
+ * @see \Drupal\Core\Field\WidgetBase::formSingleElement()
  * @see hook_field_widget_WIDGET_TYPE_form_alter()
  */
 function hook_field_widget_form_alter(&$element, &$form_state, $context) {
@@ -231,7 +231,7 @@ function hook_field_widget_form_alter(&$element, &$form_state, $context) {
  *   An associative array. See hook_field_widget_form_alter() for the structure
  *   and content of the array.
  *
- * @see \Drupal\field\Plugin\Type\Widget\WidgetBase::formSingleElement()
+ * @see \Drupal\Core\Field\WidgetBase::formSingleElement()
  * @see hook_field_widget_form_alter()
  */
 function hook_field_widget_WIDGET_TYPE_form_alter(&$element, &$form_state, $context) {
@@ -258,10 +258,10 @@ function hook_field_widget_WIDGET_TYPE_form_alter(&$element, &$form_state, $cont
  * choose which formatter to use.
  *
  * Formatters are Plugins managed by the
- * Drupal\field\Plugin\Type\Formatter\FormatterPluginManager class. A formatter
+ * Drupal\Core\Field\FormatterPluginManager class. A formatter
  * is implemented by providing a class that implements
- * Drupal\field\Plugin\Type\Formatter\FormatterInterface (in most cases, by
- * subclassing Drupal\field\Plugin\Type\Formatter\FormatterBase), and provides
+ * Drupal\Core\Field\FormatterInterface (in most cases, by
+ * subclassing Drupal\Core\Field\FormatterBase), and provides
  * the proper annotation block.
  *
  * @see field
diff --git a/core/modules/field/field.deprecated.inc b/core/modules/field/field.deprecated.inc
index 0924aec304760fa66f43acaa54406d01ad34355b..fe8831fe5d360fc15c5f866d38f8ee059cb37baf 100644
--- a/core/modules/field/field.deprecated.inc
+++ b/core/modules/field/field.deprecated.inc
@@ -22,16 +22,16 @@
  *   keyed by field type name.
  *
  * @deprecated as of Drupal 8.0. Use
- *   \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition()
+ *   \Drupal::service('plugin.manager.field.field_type')->getDefinition()
  *   or
- *   \Drupal::service('plugin.manager.entity.field.field_type')->getConfigurableDefinitions().
+ *   \Drupal::service('plugin.manager.field.field_type')->getConfigurableDefinitions().
  */
 function field_info_field_types($field_type = NULL) {
   if ($field_type) {
-    return \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field_type);
+    return \Drupal::service('plugin.manager.field.field_type')->getDefinition($field_type);
   }
   else {
-    return \Drupal::service('plugin.manager.entity.field.field_type')->getConfigurableDefinitions();
+    return \Drupal::service('plugin.manager.field.field_type')->getConfigurableDefinitions();
   }
 }
 
@@ -46,10 +46,10 @@ function field_info_field_types($field_type = NULL) {
  *   are not defined.
  *
  * @deprecated as of Drupal 8.0. Use
- *   \Drupal::service('plugin.manager.entity.field.field_type')->getDefaultSettings()
+ *   \Drupal::service('plugin.manager.field.field_type')->getDefaultSettings()
  */
 function field_info_field_settings($type) {
-  return \Drupal::service('plugin.manager.entity.field.field_type')->getDefaultSettings($type);
+  return \Drupal::service('plugin.manager.field.field_type')->getDefaultSettings($type);
 }
 
 /**
@@ -63,10 +63,10 @@ function field_info_field_settings($type) {
  *   settings are not defined.
  *
  * @deprecated as of Drupal 8.0. Use
- *   \Drupal::service('plugin.manager.entity.field.field_type')->getDefaultInstanceSettings()
+ *   \Drupal::service('plugin.manager.field.field_type')->getDefaultInstanceSettings()
  */
 function field_info_instance_settings($type) {
-  return \Drupal::service('plugin.manager.entity.field.field_type')->getDefaultInstanceSettings($type);
+  return \Drupal::service('plugin.manager.field.field_type')->getDefaultInstanceSettings($type);
 }
 
 /**
diff --git a/core/modules/field/field.info.inc b/core/modules/field/field.info.inc
index 338dd087cbd3c78ff64d71af90eb604264a51b13..5904ebe21ba6aedde12e10ea1bd1bc2813a84de8 100644
--- a/core/modules/field/field.info.inc
+++ b/core/modules/field/field.info.inc
@@ -37,7 +37,7 @@ function field_info_cache_clear() {
 
   // Clear typed data definitions.
   \Drupal::typedData()->clearCachedDefinitions();
-  \Drupal::service('plugin.manager.entity.field.field_type')->clearCachedDefinitions();
+  \Drupal::service('plugin.manager.field.field_type')->clearCachedDefinitions();
 
   Field::fieldInfo()->flush();
 }
diff --git a/core/modules/field/field.module b/core/modules/field/field.module
index 76215953723182a77811e040eaa364d24196f4e8..cea8e7849412d44fdcfc9a01f6b8292b70dbff59 100644
--- a/core/modules/field/field.module
+++ b/core/modules/field/field.module
@@ -99,7 +99,7 @@ function field_help($path, $arg) {
       $items = array();
       $info = system_get_info('module');
       $field_widgets = \Drupal::service('plugin.manager.field.widget')->getDefinitions();
-      $field_types = \Drupal::service('plugin.manager.entity.field.field_type')->getConfigurableDefinitions();
+      $field_types = \Drupal::service('plugin.manager.field.field_type')->getConfigurableDefinitions();
       foreach (array_merge($field_types, $field_widgets) as $plugin) {
         $providers[] = $plugin['provider'];
       }
@@ -341,7 +341,7 @@ function field_sync_field_status() {
   // modules.
   $changed = array();
   $modules = $module_handler->getModuleList();
-  $field_types = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinitions();
+  $field_types = \Drupal::service('plugin.manager.field.field_type')->getDefinitions();
   // Set fields with missing field type modules to inactive.
   foreach ($fields as $uuid => &$field) {
     // Associate field types.
diff --git a/core/modules/field/field.services.yml b/core/modules/field/field.services.yml
index c6ef5da277a44ef5f3b264d2e0c8d549e30f3a7c..86155170c594f16ffa816b5698f4e6c616e6ba7f 100644
--- a/core/modules/field/field.services.yml
+++ b/core/modules/field/field.services.yml
@@ -1,17 +1,5 @@
 services:
-  plugin.manager.field.widget:
-    class: Drupal\field\Plugin\Type\Widget\WidgetPluginManager
-    arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.entity.field.field_type']
-  plugin.manager.field.formatter:
-    class: Drupal\field\Plugin\Type\Formatter\FormatterPluginManager
-    arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.entity.field.field_type']
   field.info:
     class: Drupal\field\FieldInfo
-    arguments: ['@cache.field', '@config.factory', '@module_handler', '@plugin.manager.entity.field.field_type']
-  cache.field:
-    class: Drupal\Core\Cache\CacheBackendInterface
-    tags:
-      - { name: cache.bin }
-    factory_method: get
-    factory_service: cache_factory
-    arguments: [field]
+    arguments: ['@cache.field', '@config.factory', '@module_handler', '@plugin.manager.field.field_type']
+
diff --git a/core/modules/field/field.views.inc b/core/modules/field/field.views.inc
index aecc48c45f7624249bb18b263a2dea4fae12008d..6d1f488f61c43369a6792882d636dc84128bcd7e 100644
--- a/core/modules/field/field.views.inc
+++ b/core/modules/field/field.views.inc
@@ -119,7 +119,7 @@ function field_views_field_default_views_data(FieldInterface $field) {
   $data = array();
 
   // Check the field type is available.
-  if (!\Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field->getFieldType())) {
+  if (!\Drupal::service('plugin.manager.field.field_type')->getDefinition($field->getFieldType())) {
     return $data;
   }
   // Check the field has instances.
diff --git a/core/modules/field/lib/Drupal/field/Entity/Field.php b/core/modules/field/lib/Drupal/field/Entity/Field.php
index 4496e1605b78e4e2995b86d38aa1e1f8e6cbdb06..6fb8ab7747bfce4b47f038319c1ed81b45dc7cf5 100644
--- a/core/modules/field/lib/Drupal/field/Entity/Field.php
+++ b/core/modules/field/lib/Drupal/field/Entity/Field.php
@@ -340,7 +340,7 @@ protected function saveNew() {
     }
 
     // Check that the field type is known.
-    $field_type = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($this->type);
+    $field_type = \Drupal::service('plugin.manager.field.field_type')->getDefinition($this->type);
     if (!$field_type) {
       throw new FieldException(format_string('Attempt to create a field of unknown type %type.', array('%type' => $this->type)));
     }
@@ -455,7 +455,7 @@ public function delete() {
   public function getSchema() {
     if (!isset($this->schema)) {
       // Get the schema from the field item class.
-      $definition = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($this->type);
+      $definition = \Drupal::service('plugin.manager.field.field_type')->getDefinition($this->type);
       $class = $definition['class'];
       $schema = $class::schema($this);
       // Fill in default values for optional entries.
@@ -525,7 +525,7 @@ public function getFieldSettings() {
     //   maintains its own static cache. However, do some CPU and memory
     //   profiling to see if it's worth statically caching $field_type_info, or
     //   the default field and instance settings, within $this.
-    $field_type_info = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($this->type);
+    $field_type_info = \Drupal::service('plugin.manager.field.field_type')->getDefinition($this->type);
 
     $settings = $this->settings + $field_type_info['settings'] + $field_type_info['instance_settings'];
     return $settings;
@@ -536,7 +536,7 @@ public function getFieldSettings() {
    */
   public function getFieldSetting($setting_name) {
     // @todo See getFieldSettings() about potentially statically caching this.
-    $field_type_info = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($this->type);
+    $field_type_info = \Drupal::service('plugin.manager.field.field_type')->getDefinition($this->type);
 
     // We assume here that consecutive array_key_exists() is more efficient than
     // calling getFieldSettings() when all we need is a single setting.
diff --git a/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php b/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php
index dea4c95c83caa28fc939ace344ed7881290061db..65013c0eb72ad0cff49e41365ad9527353a1a38a 100644
--- a/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php
+++ b/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php
@@ -419,7 +419,7 @@ protected function saveUpdated() {
    * Prepares the instance definition for saving.
    */
   protected function prepareSave() {
-    $field_type_info = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($this->field->type);
+    $field_type_info = \Drupal::service('plugin.manager.field.field_type')->getDefinition($this->field->type);
 
     // Set the default instance settings.
     $this->settings += $field_type_info['instance_settings'];
diff --git a/core/modules/field/lib/Drupal/field/FieldInfo.php b/core/modules/field/lib/Drupal/field/FieldInfo.php
index 3e4d6aabf2b5bb9c7df743240093078410996973..2287e6c516197c4f05dfd55ef6114fbdf3bd9d4d 100644
--- a/core/modules/field/lib/Drupal/field/FieldInfo.php
+++ b/core/modules/field/lib/Drupal/field/FieldInfo.php
@@ -9,7 +9,7 @@
 
 use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Config\ConfigFactory;
-use Drupal\Core\Entity\Field\FieldTypePluginManager;
+use Drupal\Core\Field\FieldTypePluginManager;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\field\FieldInterface;
 use Drupal\field\FieldInstanceInterface;
@@ -50,7 +50,7 @@ class FieldInfo {
   /**
    * The field type manager to define field.
    *
-   * @var \Drupal\Core\Entity\Field\FieldTypePluginManager
+   * @var \Drupal\Core\Field\FieldTypePluginManager
    */
   protected $fieldTypeManager;
 
@@ -133,7 +133,7 @@ class FieldInfo {
    *   The configuration factory object to use.
    * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
    *   The module handler class to use for invoking hooks.
-   * @param \Drupal\Core\Entity\Field\FieldTypePluginManager $field_type_manager
+   * @param \Drupal\Core\Field\FieldTypePluginManager $field_type_manager
    *   The 'field type' plugin manager.
    */
   public function __construct(CacheBackendInterface $cache_backend, ConfigFactory $config, ModuleHandlerInterface $module_handler, FieldTypePluginManager $field_type_manager) {
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/FieldType/ConfigEntityReferenceItemBase.php b/core/modules/field/lib/Drupal/field/Plugin/Type/FieldType/ConfigEntityReferenceItemBase.php
index b0e436f7f731d2fdb158dce87f86558955bdf4cd..7fcb0469e3c79be31945b07e676e7f4be95a0942 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/FieldType/ConfigEntityReferenceItemBase.php
+++ b/core/modules/field/lib/Drupal/field/Plugin/Type/FieldType/ConfigEntityReferenceItemBase.php
@@ -80,7 +80,7 @@ public function getPropertyDefinitions() {
    * since we cannot extend it.
    */
   public static function schema(FieldInterface $field) {
-    $definition = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field->type);
+    $definition = \Drupal::service('plugin.manager.field.field_type')->getDefinition($field->type);
     $module = $definition['provider'];
     module_load_install($module);
     $callback = "{$module}_field_schema";
diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/FieldType/ConfigFieldItemList.php b/core/modules/field/lib/Drupal/field/Plugin/Type/FieldType/ConfigFieldItemList.php
index eca3358a14cf45d14fe1aa5faff35fcabfa522b7..47f0d5707fdf865fa6eda239180d90b183756017 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/Type/FieldType/ConfigFieldItemList.php
+++ b/core/modules/field/lib/Drupal/field/Plugin/Type/FieldType/ConfigFieldItemList.php
@@ -132,7 +132,7 @@ public function defaultValuesFormSubmit(array $element, array &$form, array &$fo
    * @param array $form_state
    *   The form state of the (entire) configuration form.
    *
-   * @return \Drupal\field\Plugin\Type\Widget\WidgetInterface
+   * @return \Drupal\Core\Field\WidgetInterface
    *   A Widget object.
    */
   protected function defaultValueWidget(array &$form_state) {
diff --git a/core/modules/field/lib/Drupal/field/Plugin/field/field_type/LegacyConfigFieldItem.php b/core/modules/field/lib/Drupal/field/Plugin/field/field_type/LegacyConfigFieldItem.php
index 7d8b7353fe31aa1f2326663b9a075ff3e73a8b50..1c1a19a0ad5e7414ba4bb3cca1a1d87181da6721 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/field/field_type/LegacyConfigFieldItem.php
+++ b/core/modules/field/lib/Drupal/field/Plugin/field/field_type/LegacyConfigFieldItem.php
@@ -32,7 +32,7 @@ abstract class LegacyConfigFieldItem extends ConfigFieldItemBase implements Prep
    * {@inheritdoc}
    */
   public static function schema(FieldInterface $field) {
-    $definition = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field->type);
+    $definition = \Drupal::service('plugin.manager.field.field_type')->getDefinition($field->type);
     $module = $definition['provider'];
     module_load_install($module);
     $callback = "{$module}_field_schema";
diff --git a/core/modules/field/lib/Drupal/field/Plugin/views/field/Field.php b/core/modules/field/lib/Drupal/field/Plugin/views/field/Field.php
index 014647b3398b10e0fb5864434eef2a709133a0f3..72922022d008c0b7671fa0ac03c6d4ad323dc08c 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/views/field/Field.php
+++ b/core/modules/field/lib/Drupal/field/Plugin/views/field/Field.php
@@ -12,7 +12,7 @@
 use Drupal\Core\Entity\EntityStorageControllerInterface;
 use Drupal\Core\Language\Language;
 use Drupal\Core\Entity\EntityManager;
-use Drupal\field\Plugin\Type\Formatter\FormatterPluginManager;
+use Drupal\Core\Field\FormatterPluginManager;
 use Drupal\views\ViewExecutable;
 use Drupal\views\Plugin\views\display\DisplayPluginBase;
 use Drupal\views\Plugin\views\field\FieldPluginBase;
@@ -81,7 +81,7 @@ class Field extends FieldPluginBase {
   /**
    * The field formatter plugin manager.
    *
-   * @var \Drupal\field\Plugin\Type\Formatter\FormatterPluginManager
+   * @var \Drupal\Core\Field\FormatterPluginManager
    */
   protected $formatterPluginManager;
 
@@ -96,7 +96,7 @@ class Field extends FieldPluginBase {
    *   The plugin implementation definition.
    * @param \Drupal\Core\Entity\EntityManager $entity_manager
    *   The field formatter plugin manager.
-   * @param \Drupal\field\Plugin\Type\Formatter\FormatterPluginManager $formatter_plugin_manager
+   * @param \Drupal\Core\Field\FormatterPluginManager $formatter_plugin_manager
    *   The field formatter plugin manager.
    */
   public function __construct(array $configuration, $plugin_id, array $plugin_definition, EntityManager $entity_manager, FormatterPluginManager $formatter_plugin_manager) {
@@ -316,7 +316,7 @@ protected function defineOptions() {
 
     // defineOptions runs before init/construct, so no $this->field_info
     $field = field_info_field($this->definition['entity_type'], $this->definition['field_name']);
-    $field_type = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field->getFieldType());
+    $field_type = \Drupal::service('plugin.manager.field.field_type')->getDefinition($field->getFieldType());
     $column_names = array_keys($field->getColumns());
     $default_column = '';
     // Try to determine a sensible default.
diff --git a/core/modules/field/lib/Drupal/field/Tests/CrudTest.php b/core/modules/field/lib/Drupal/field/Tests/CrudTest.php
index d050f5950169189a2ce06603d32e9e2278da6241..702cbdd07d0d75e044a75be32b2d1cd18029e117 100644
--- a/core/modules/field/lib/Drupal/field/Tests/CrudTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/CrudTest.php
@@ -62,7 +62,7 @@ function testCreateField() {
     $this->assertEqual($field_config['cardinality'], 1, 'Cardinality defaults to 1.');
 
     // Ensure that default settings are present.
-    $field_type = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field_definition['type']);
+    $field_type = \Drupal::service('plugin.manager.field.field_type')->getDefinition($field_definition['type']);
     $this->assertEqual($field_config['settings'], $field_type['settings'], 'Default field settings have been written.');
 
     // Guarantee that the name is unique.
diff --git a/core/modules/field/lib/Drupal/field/Tests/DisplayApiTest.php b/core/modules/field/lib/Drupal/field/Tests/DisplayApiTest.php
index fc0a55a6e40242ebebc6498a40fbc19f12f211ac..86e723ca572f79074940b21e29397b57c8fe4ac8 100644
--- a/core/modules/field/lib/Drupal/field/Tests/DisplayApiTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/DisplayApiTest.php
@@ -258,7 +258,7 @@ function testFieldViewValue() {
    * Tests that the prepareView() formatter method still fires for empty values.
    */
   function testFieldEmpty() {
-    // Uses \Drupal\field_test\Plugin\field\formatter\TestFieldEmptyFormatter.
+    // Uses \Drupal\field_test\Plugin\Field\FieldFormatter\TestFieldEmptyFormatter.
     $display = array(
       'label' => 'hidden',
       'type' => 'field_empty_test',
diff --git a/core/modules/field/lib/Drupal/field/Tests/FieldHelpTest.php b/core/modules/field/lib/Drupal/field/Tests/FieldHelpTest.php
index 4ea59791d58cf16e2fd0d25621adc14b94ad4377..074a009b9a7765b70546155a3b53b39c1850e25d 100644
--- a/core/modules/field/lib/Drupal/field/Tests/FieldHelpTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/FieldHelpTest.php
@@ -57,7 +57,7 @@ public function testFieldHelp() {
     // Enable the Options, E-mail and Field API Test modules.
     \Drupal::moduleHandler()->install(array('options', 'email', 'field_test'));
     \Drupal::service('plugin.manager.field.widget')->clearCachedDefinitions();
-    \Drupal::service('plugin.manager.entity.field.field_type')->clearCachedDefinitions();
+    \Drupal::service('plugin.manager.field.field_type')->clearCachedDefinitions();
 
     $this->drupalGet('admin/help/field');
     $this->assertLink('Options', 0, 'Options module is listed on the Field help page.');
diff --git a/core/modules/field/lib/Drupal/field/Tests/FieldInfoTest.php b/core/modules/field/lib/Drupal/field/Tests/FieldInfoTest.php
index 2b1e1ad997a2f262415efd58b0729c533c4ce9a9..021ae408e022b1b095c23780c1fe982d54948d6a 100644
--- a/core/modules/field/lib/Drupal/field/Tests/FieldInfoTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/FieldInfoTest.php
@@ -24,7 +24,7 @@ function testFieldInfo() {
     // Test that field_test module's fields, widgets, and formatters show up.
 
     $field_test_info = $this->getExpectedFieldTypeDefinition();
-    $info = \Drupal::service('plugin.manager.entity.field.field_type')->getConfigurableDefinitions();
+    $info = \Drupal::service('plugin.manager.field.field_type')->getConfigurableDefinitions();
     foreach ($field_test_info as $t_key => $field_type) {
       foreach ($field_type as $key => $val) {
         $this->assertEqual($info[$t_key][$key], $val, format_string('Field type %t_key key %key is %value', array('%t_key' => $t_key, '%key' => $key, '%value' => print_r($val, TRUE))));
@@ -132,7 +132,7 @@ function testFieldPrepare() {
     $field = field_info_field('entity_test', $field_definition['name']);
 
     // Check that all expected settings are in place.
-    $field_type = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field_definition['type']);
+    $field_type = \Drupal::service('plugin.manager.field.field_type')->getDefinition($field_definition['type']);
     $this->assertEqual($field->settings, $field_type['settings'], 'All expected default field settings are present.');
   }
 
@@ -166,7 +166,7 @@ function testInstancePrepare() {
     $instance = field_info_instance($instance_definition['entity_type'], $instance_definition['field_name'], $instance_definition['bundle']);
 
     // Check that all expected instance settings are in place.
-    $field_type = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($field_definition['type']);
+    $field_type = \Drupal::service('plugin.manager.field.field_type')->getDefinition($field_definition['type']);
     $this->assertEqual($instance->settings, $field_type['instance_settings'] , 'All expected instance settings are present.');
   }
 
@@ -285,7 +285,7 @@ function testFieldMap() {
   function testSettingsInfo() {
     $info = $this->getExpectedFieldTypeDefinition();
     foreach ($info as $type => $data) {
-      $field_type_manager = \Drupal::service('plugin.manager.entity.field.field_type');
+      $field_type_manager = \Drupal::service('plugin.manager.field.field_type');
       $this->assertIdentical($field_type_manager->getDefaultSettings($type), $data['settings'], format_string("field settings service returns %type's field settings", array('%type' => $type)));
       $this->assertIdentical($field_type_manager->getDefaultInstanceSettings($type), $data['instance_settings'], format_string("field instance settings service returns %type's field instance settings", array('%type' => $type)));
     }
diff --git a/core/modules/field/lib/Drupal/field/Tests/FieldInstanceCrudTest.php b/core/modules/field/lib/Drupal/field/Tests/FieldInstanceCrudTest.php
index 6c7209edab03cc061a519ed16fb14b69e23c0b72..2f88b88eddb7f2a8843ac786a430ba1e722de351 100644
--- a/core/modules/field/lib/Drupal/field/Tests/FieldInstanceCrudTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/FieldInstanceCrudTest.php
@@ -75,7 +75,7 @@ function testCreateFieldInstance() {
     // applied on write.
     $config = \Drupal::config('field.instance.' . $instance->id())->get();
 
-    $field_type = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition($this->field_definition['type']);
+    $field_type = \Drupal::service('plugin.manager.field.field_type')->getDefinition($this->field_definition['type']);
 
     // Check that default values are set.
     $this->assertEqual($config['required'], FALSE, 'Required defaults to false.');
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldDefaultFormatter.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php
similarity index 93%
rename from core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldDefaultFormatter.php
rename to core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php
index 66d30ef2492c4a049513ef5167e422fe83989a28..71751b332a0dc6f9c0879a727c71849def80c60d 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldDefaultFormatter.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php
@@ -5,9 +5,9 @@
  * Contains \Drupal\field_test\Plugin\field\formatter\TestFieldDefaultFormatter.
  */
 
-namespace Drupal\field_test\Plugin\field\formatter;
+namespace Drupal\field_test\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldEmptyFormatter.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptyFormatter.php
similarity index 90%
rename from core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldEmptyFormatter.php
rename to core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptyFormatter.php
index cbe79cf8e89afa05e812a81c35dbe27ad62e5548..16b33f40302781d26ba99bd756659447949ca413 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldEmptyFormatter.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptyFormatter.php
@@ -5,10 +5,10 @@
  *
  * Contains \Drupal\field_test\Plugin\field\formatter\TestFieldEmptyFormatter.
  */
-namespace Drupal\field_test\Plugin\field\formatter;
+namespace Drupal\field_test\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 
 /**
  * Plugin implementation of the 'field_empty_test' formatter.
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldEmptySettingFormatter.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php
similarity index 88%
rename from core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldEmptySettingFormatter.php
rename to core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php
index ec895672b7f4ec036bc04e1121e4fe590eef0cad..d09ce948966a7f29d0988c3d21d7960ed9aeb6fd 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldEmptySettingFormatter.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php
@@ -5,11 +5,9 @@
  * Contains \Drupal\field_test\Plugin\field\formatter\TestFieldEmptySettingFormatter
  */
 
-namespace Drupal\field_test\Plugin\field\formatter;
+namespace Drupal\field_test\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Annotation\FieldFormatter;
-use Drupal\Core\Annotation\Translation;
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldMultipleFormatter.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php
similarity index 94%
rename from core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldMultipleFormatter.php
rename to core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php
index feed742888380f03d8ba034f9c5e9f2561532dcd..ae302c3d1041d0e85dfe2e0f6371aebdca3626d9 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldMultipleFormatter.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php
@@ -5,9 +5,9 @@
  * Contains \Drupal\field_test\Plugin\field\formatter\TestFieldMultipleFormatter.
  */
 
-namespace Drupal\field_test\Plugin\field\formatter;
+namespace Drupal\field_test\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldPrepareViewFormatter.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php
similarity index 94%
rename from core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldPrepareViewFormatter.php
rename to core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php
index 1d36638a4addc5fd9b2edbe2c34887e331868d07..98092613c0defc78bdbea5c489ea9459127f2d5c 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/formatter/TestFieldPrepareViewFormatter.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php
@@ -5,9 +5,9 @@
  * Contains \Drupal\field_test\Plugin\field\formatter\TestFieldPrepareViewFormatter.
  */
 
-namespace Drupal\field_test\Plugin\field\formatter;
+namespace Drupal\field_test\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/widget/TestFieldWidget.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldWidget/TestFieldWidget.php
similarity index 91%
rename from core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/widget/TestFieldWidget.php
rename to core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldWidget/TestFieldWidget.php
index bb0d494fdddcff86e957b742c3cc3f33f56b4849..6b4995699c3284a9a467b3aa91d9cd3eb67680f9 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/widget/TestFieldWidget.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldWidget/TestFieldWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Definition of Drupal\field_test\Plugin\field\widget\TestFieldWidget.
+ * Definition of Drupal\field_test\Plugin\Field\FieldWidget\TestFieldWidget.
  */
 
-namespace Drupal\field_test\Plugin\field\widget;
+namespace Drupal\field_test\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 use Symfony\Component\Validator\ConstraintViolationInterface;
 
 /**
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/widget/TestFieldWidgetMultiple.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldWidget/TestFieldWidgetMultiple.php
similarity index 93%
rename from core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/widget/TestFieldWidgetMultiple.php
rename to core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldWidget/TestFieldWidgetMultiple.php
index 736f6548e9f4e5e04d4606c7d31967b735cf3b95..90750b5c30037d4deda3ca85bc8a8d9c13babfcd 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/field/widget/TestFieldWidgetMultiple.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldWidget/TestFieldWidgetMultiple.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Definition of Drupal\field_test\Plugin\field\widget\TestFieldWidgetMultiple.
+ * Definition of Drupal\field_test\Plugin\Field\FieldWidget\TestFieldWidgetMultiple.
  */
 
-namespace Drupal\field_test\Plugin\field\widget;
+namespace Drupal\field_test\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 use Symfony\Component\Validator\ConstraintViolationInterface;
 
 /**
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 ffd83b54a19e54d0a7db34b1dea1218f07774018..0d68e77a27127ab6d8ade05ab45c762f413817e6 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
@@ -23,7 +23,7 @@ class DisplayOverview extends DisplayOverviewBase {
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('entity.manager'),
-      $container->get('plugin.manager.entity.field.field_type'),
+      $container->get('plugin.manager.field.field_type'),
       $container->get('plugin.manager.field.formatter')
     );
   }
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 279a60f9686df18dcab11263a655ffab0cb50bbb..fcc764c241c8efb5ac5b32e59f1986827aecd31c 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php
@@ -9,7 +9,7 @@
 
 use Drupal\Component\Plugin\PluginManagerBase;
 use Drupal\Core\Entity\EntityManager;
-use Drupal\Core\Entity\Field\FieldTypePluginManager;
+use Drupal\Core\Field\FieldTypePluginManager;
 use Drupal\entity\EntityDisplayBaseInterface;
 use Drupal\field\FieldInstanceInterface;
 use Drupal\field_ui\OverviewBase;
@@ -39,7 +39,7 @@ abstract class DisplayOverviewBase extends OverviewBase {
    *
    * @param \Drupal\Core\Entity\EntityManager $entity_manager
    *   The entity manager.
-   * @param \Drupal\Core\Entity\Field\FieldTypePluginManager $field_type_manager
+   * @param \Drupal\Core\Field\FieldTypePluginManager $field_type_manager
    *   The field type manager.
    * @param \Drupal\Component\Plugin\PluginManagerBase $plugin_manager
    *   The widget or formatter plugin manager.
@@ -57,7 +57,7 @@ public function __construct(EntityManager $entity_manager, FieldTypePluginManage
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('entity.manager'),
-      $container->get('plugin.manager.entity.field.field_type'),
+      $container->get('plugin.manager.field.field_type'),
       $container->get('plugin.manager.field.widget')
     );
   }
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FieldListController.php b/core/modules/field_ui/lib/Drupal/field_ui/FieldListController.php
index 72edd23ec41e17eb65ecd4b823e71e598fba8f80..c0d39829a782f52c1a3edd52a3542641ce9df27b 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/FieldListController.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/FieldListController.php
@@ -10,7 +10,7 @@
 use Drupal\Core\Config\Entity\ConfigEntityListController;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityManager;
-use Drupal\Core\Entity\Field\FieldTypePluginManager;
+use Drupal\Core\Field\FieldTypePluginManager;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -43,7 +43,7 @@ class FieldListController extends ConfigEntityListController {
   /**
    * The field type manager.
    *
-   * @var \Drupal\Core\Entity\Field\FieldTypePluginManager
+   * @var \Drupal\Core\Field\FieldTypePluginManager
    */
   protected $fieldTypeManager;
 
@@ -60,7 +60,7 @@ class FieldListController extends ConfigEntityListController {
    *   The module handler to invoke hooks on.
    * @param \Drupal\field\FieldInfo $field_info
    *   The field info service.
-   * @param \Drupal\Core\Entity\Field\FieldTypePluginManager $field_type_manager
+   * @param \Drupal\Core\Field\FieldTypePluginManager $field_type_manager
    *   The 'field type' plugin manager.
    */
   public function __construct($entity_type, array $entity_info, EntityManager $entity_manager, ModuleHandlerInterface $module_handler, FieldTypePluginManager $field_type_manager) {
@@ -81,7 +81,7 @@ public static function createInstance(ContainerInterface $container, $entity_typ
       $entity_info,
       $container->get('entity.manager'),
       $container->get('module_handler'),
-      $container->get('plugin.manager.entity.field.field_type')
+      $container->get('plugin.manager.field.field_type')
     );
   }
 
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
index 01477e1b2a673e0f0a77a04c7c5862ad4546b175..d7b15503e7a9318cd653bcf1617f2a69f9976a73 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
@@ -8,7 +8,7 @@
 namespace Drupal\field_ui;
 
 use Drupal\Core\Entity\EntityManager;
-use Drupal\Core\Entity\Field\FieldTypePluginManager;
+use Drupal\Core\Field\FieldTypePluginManager;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\field_ui\OverviewBase;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -22,7 +22,7 @@ class FieldOverview extends OverviewBase {
   /**
    *  The field type manager.
    *
-   * @var \Drupal\Core\Entity\Field\FieldTypePluginManager
+   * @var \Drupal\Core\Field\FieldTypePluginManager
    */
   protected $fieldTypeManager;
 
@@ -38,7 +38,7 @@ class FieldOverview extends OverviewBase {
    *
    * @param \Drupal\Core\Entity\EntityManager $entity_manager
    *   The entity manager.
-   * @param \Drupal\Core\Entity\Field\FieldTypePluginManager $field_type_manager
+   * @param \Drupal\Core\Field\FieldTypePluginManager $field_type_manager
    *   The field type manager
    * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
    *   The module handler to invoke hooks on.
@@ -55,7 +55,7 @@ public function __construct(EntityManager $entity_manager, FieldTypePluginManage
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('entity.manager'),
-      $container->get('plugin.manager.entity.field.field_type'),
+      $container->get('plugin.manager.field.field_type'),
       $container->get('module_handler')
     );
   }
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 59678d1c0fcba038f223e599a422a0194786f4b4..a1e8d8ba22dfbdeaca68d5bc596a67d6a6d6b5ee 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php
@@ -23,7 +23,7 @@ class FormDisplayOverview extends DisplayOverviewBase {
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('entity.manager'),
-      $container->get('plugin.manager.entity.field.field_type'),
+      $container->get('plugin.manager.field.field_type'),
       $container->get('plugin.manager.field.widget')
     );
   }
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageFieldsTest.php b/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageFieldsTest.php
index 3499c615f239fa5a35fa3b61113e82dbb2a45e48..e3d6e319ac926ad0b5aad7d475c35cc0b3496b6d 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageFieldsTest.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageFieldsTest.php
@@ -457,7 +457,7 @@ function testHiddenFields() {
     $this->assertFalse($this->xpath('//select[@id="edit-add-existing-field-field-name"]//option[@value=:field_name]', array(':field_name' => $field_name)), "The 're-use existing field' select respects field types 'no_ui' property.");
 
     // Check that non-configurable fields are not available.
-    $field_types = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinitions();
+    $field_types = \Drupal::service('plugin.manager.field.field_type')->getDefinitions();
     foreach ($field_types as $field_type => $definition) {
       if ($definition['configurable'] && empty($definition['no_ui'])) {
         $this->assertTrue($this->xpath('//select[@id="edit-fields-add-new-field-type"]//option[@value=:field_type]', array(':field_type' => $field_type)), String::format('Configurable field type @field_type is available.', array('@field_type' => $field_type)));
diff --git a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/FileFormatterBase.php b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/FileFormatterBase.php
similarity index 90%
rename from core/modules/file/lib/Drupal/file/Plugin/field/formatter/FileFormatterBase.php
rename to core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/FileFormatterBase.php
index 306861ab80fbf7a4e9a1eaf80a02f5cbeb6c8fe5..3c45fe41bf9626cfd75dec0270bfb771304e4dd0 100644
--- a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/FileFormatterBase.php
+++ b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/FileFormatterBase.php
@@ -5,9 +5,9 @@
  * Contains \Drupal\file\Plugin\field\formatter\FileFormatterBase.
  */
 
-namespace Drupal\file\Plugin\field\formatter;
+namespace Drupal\file\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 
 /**
  * Base class for file formatters.
diff --git a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/GenericFileFormatter.php b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/GenericFileFormatter.php
similarity index 90%
rename from core/modules/file/lib/Drupal/file/Plugin/field/formatter/GenericFileFormatter.php
rename to core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/GenericFileFormatter.php
index a41d9be7bc8b029e222e2f73bef403d6d4b0d97b..e0169e1d6bfd3f1bd7148a3e9a9386d691da9ed6 100644
--- a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/GenericFileFormatter.php
+++ b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/GenericFileFormatter.php
@@ -5,7 +5,7 @@
  * Contains \Drupal\file\Plugin\field\formatter\GenericFileFormatter.
  */
 
-namespace Drupal\file\Plugin\field\formatter;
+namespace Drupal\file\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
@@ -23,7 +23,7 @@
 class GenericFileFormatter extends FileFormatterBase {
 
   /**
-   * Implements \Drupal\field\Plugin\Type\Formatter\FormatterInterface::viewElements().
+   * {@inheritdoc}
    */
   public function viewElements(FieldItemListInterface $items) {
     $elements = array();
diff --git a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/RSSEnclosureFormatter.php b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/RSSEnclosureFormatter.php
similarity index 89%
rename from core/modules/file/lib/Drupal/file/Plugin/field/formatter/RSSEnclosureFormatter.php
rename to core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/RSSEnclosureFormatter.php
index 55e40b7dc817bf237d76d881577f4a053d0b5c85..babb8942c03e149b766b4a07ab9460ec35c1ba69 100644
--- a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/RSSEnclosureFormatter.php
+++ b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/RSSEnclosureFormatter.php
@@ -5,7 +5,7 @@
  * Contains \Drupal\file\Plugin\field\formatter\RSSEnclosureFormatter.
  */
 
-namespace Drupal\file\Plugin\field\formatter;
+namespace Drupal\file\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
@@ -23,7 +23,7 @@
 class RSSEnclosureFormatter extends FileFormatterBase {
 
   /**
-   * Implements \Drupal\field\Plugin\Type\Formatter\FormatterInterface::viewElements().
+   * {@inheritdoc}
    */
   public function viewElements(FieldItemListInterface $items) {
     $entity = $items->getEntity();
diff --git a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/TableFormatter.php b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/TableFormatter.php
similarity index 84%
rename from core/modules/file/lib/Drupal/file/Plugin/field/formatter/TableFormatter.php
rename to core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/TableFormatter.php
index 722b60a574f1323730338a68fc3ccbfbca767cec..e8b1b39bd0735f99b0d65b4ee3a48efa6e7809c5 100644
--- a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/TableFormatter.php
+++ b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/TableFormatter.php
@@ -5,7 +5,7 @@
  * Contains \Drupal\file\Plugin\field\formatter\TableFormatter.
  */
 
-namespace Drupal\file\Plugin\field\formatter;
+namespace Drupal\file\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
@@ -23,7 +23,7 @@
 class TableFormatter extends FileFormatterBase {
 
   /**
-   * Implements \Drupal\field\Plugin\Type\Formatter\FormatterInterface::viewElements().
+   * {@inheritdoc}
    */
   public function viewElements(FieldItemListInterface $items) {
     $elements = array();
diff --git a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/UrlPlainFormatter.php b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/UrlPlainFormatter.php
similarity index 85%
rename from core/modules/file/lib/Drupal/file/Plugin/field/formatter/UrlPlainFormatter.php
rename to core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/UrlPlainFormatter.php
index 4a91979db8ae9572cb34e025103b9c8f6eafc2e9..b8633de8c20db18419026bf5302528fc416b4165 100644
--- a/core/modules/file/lib/Drupal/file/Plugin/field/formatter/UrlPlainFormatter.php
+++ b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldFormatter/UrlPlainFormatter.php
@@ -5,7 +5,7 @@
  * Contains \Drupal\file\Plugin\field\formatter\UrlPlainFormatter.
  */
 
-namespace Drupal\file\Plugin\field\formatter;
+namespace Drupal\file\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
@@ -23,7 +23,7 @@
 class UrlPlainFormatter extends FileFormatterBase {
 
   /**
-   * Implements \Drupal\field\Plugin\Type\Formatter\FormatterInterface::viewElements().
+   * {@inheritdoc}
    */
   public function viewElements(FieldItemListInterface $items) {
     $elements = array();
diff --git a/core/modules/file/lib/Drupal/file/Plugin/field/widget/FileWidget.php b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldWidget/FileWidget.php
similarity index 97%
rename from core/modules/file/lib/Drupal/file/Plugin/field/widget/FileWidget.php
rename to core/modules/file/lib/Drupal/file/Plugin/Field/FieldWidget/FileWidget.php
index b0ed274748f19f93eb8d107edf22997d2365d27f..2b61e3608e734b1b20bb5f4fe4dd6ab92273a473 100644
--- a/core/modules/file/lib/Drupal/file/Plugin/field/widget/FileWidget.php
+++ b/core/modules/file/lib/Drupal/file/Plugin/Field/FieldWidget/FileWidget.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Contains \Drupal\file\Plugin\field\widget\FileWidget.
+ * Contains \Drupal\file\Plugin\Field\FieldWidget\FileWidget.
  */
 
-namespace Drupal\file\Plugin\field\widget;
+namespace Drupal\file\Plugin\Field\FieldWidget;
 
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
@@ -55,7 +55,7 @@ public function settingsSummary() {
   }
 
   /**
-   * Overrides \Drupal\field\Plugin\Type\Widget\WidgetBase::formMultipleElements().
+   * Overrides \Drupal\Core\Field\WidgetBase::formMultipleElements().
    *
    * Special handling for draggable multiple widgets and 'add more' button.
    */
diff --git a/core/modules/forum/forum.install b/core/modules/forum/forum.install
index 05bda60d2ae22857db2676ab960f68a4803b2ede..3f7d02bb3768a5ca24bfe5af5140291d3af5ba65 100644
--- a/core/modules/forum/forum.install
+++ b/core/modules/forum/forum.install
@@ -93,7 +93,7 @@ function forum_install() {
  * Implements hook_module_preinstall().
  */
 function forum_module_preinstall($module) {
-  $list_boolean = \Drupal::service('plugin.manager.entity.field.field_type')->getDefinition('list_boolean');
+  $list_boolean = \Drupal::service('plugin.manager.field.field_type')->getDefinition('list_boolean');
   if (empty($list_boolean) && $module == 'forum') {
     // Make sure that the list_boolean field type is available before our
     // default config is installed.
diff --git a/core/modules/image/lib/Drupal/image/Plugin/field/formatter/ImageFormatter.php b/core/modules/image/lib/Drupal/image/Plugin/Field/FieldFormatter/ImageFormatter.php
similarity index 98%
rename from core/modules/image/lib/Drupal/image/Plugin/field/formatter/ImageFormatter.php
rename to core/modules/image/lib/Drupal/image/Plugin/Field/FieldFormatter/ImageFormatter.php
index 463dc17daeec4eaef65b9aa1bbb47bdab1e74e6d..b3cf4f26b4822fdb4a96e3a0816e9135160d33f6 100644
--- a/core/modules/image/lib/Drupal/image/Plugin/field/formatter/ImageFormatter.php
+++ b/core/modules/image/lib/Drupal/image/Plugin/Field/FieldFormatter/ImageFormatter.php
@@ -5,7 +5,7 @@
  * Contains \Drupal\image\Plugin\field\formatter\ImageFormatter.
  */
 
-namespace Drupal\image\Plugin\field\formatter;
+namespace Drupal\image\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
diff --git a/core/modules/image/lib/Drupal/image/Plugin/field/formatter/ImageFormatterBase.php b/core/modules/image/lib/Drupal/image/Plugin/Field/FieldFormatter/ImageFormatterBase.php
similarity index 91%
rename from core/modules/image/lib/Drupal/image/Plugin/field/formatter/ImageFormatterBase.php
rename to core/modules/image/lib/Drupal/image/Plugin/Field/FieldFormatter/ImageFormatterBase.php
index 03d27274305b26a828846f909baa342cdc188621..c934270fd5d7759db11c4e60d87a9afb4ceee06d 100644
--- a/core/modules/image/lib/Drupal/image/Plugin/field/formatter/ImageFormatterBase.php
+++ b/core/modules/image/lib/Drupal/image/Plugin/Field/FieldFormatter/ImageFormatterBase.php
@@ -5,10 +5,10 @@
  * Contains \Drupal\image\Plugin\field\formatter\ImageFormatterBase.
  */
 
-namespace Drupal\image\Plugin\field\formatter;
+namespace Drupal\image\Plugin\Field\FieldFormatter;
 
 use Drupal\field\FieldInstanceInterface;
-use Drupal\file\Plugin\field\formatter\FileFormatterBase;
+use Drupal\file\Plugin\Field\FieldFormatter\FileFormatterBase;
 
 /**
  * Base class for image file formatters.
diff --git a/core/modules/image/lib/Drupal/image/Plugin/field/widget/ImageWidget.php b/core/modules/image/lib/Drupal/image/Plugin/Field/FieldWidget/ImageWidget.php
similarity index 94%
rename from core/modules/image/lib/Drupal/image/Plugin/field/widget/ImageWidget.php
rename to core/modules/image/lib/Drupal/image/Plugin/Field/FieldWidget/ImageWidget.php
index 9a257892d89a750ef290903ec02f2e3810c2eddd..2febebea39d84f676606c7b6194172b3c1ca8fd5 100644
--- a/core/modules/image/lib/Drupal/image/Plugin/field/widget/ImageWidget.php
+++ b/core/modules/image/lib/Drupal/image/Plugin/Field/FieldWidget/ImageWidget.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Contains \Drupal\image\Plugin\field\widget\ImageWidget.
+ * Contains \Drupal\image\Plugin\Field\FieldWidget\ImageWidget.
  */
 
-namespace Drupal\image\Plugin\field\widget;
+namespace Drupal\image\Plugin\Field\FieldWidget;
 
-use Drupal\file\Plugin\field\widget\FileWidget;
+use Drupal\file\Plugin\Field\FieldWidget\FileWidget;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
@@ -71,7 +71,7 @@ public function settingsSummary() {
   }
 
   /**
-   * Overrides \Drupal\file\Plugin\field\widget\FileWidget::formMultipleElements().
+   * Overrides \Drupal\file\Plugin\Field\FieldWidget\FileWidget::formMultipleElements().
    *
    * Special handling for draggable multiple widgets and 'add more' button.
    */
diff --git a/core/modules/link/lib/Drupal/link/Plugin/field/formatter/LinkFormatter.php b/core/modules/link/lib/Drupal/link/Plugin/Field/FieldFormatter/LinkFormatter.php
similarity index 98%
rename from core/modules/link/lib/Drupal/link/Plugin/field/formatter/LinkFormatter.php
rename to core/modules/link/lib/Drupal/link/Plugin/Field/FieldFormatter/LinkFormatter.php
index 86004593bfe6444d232dc4be020678b8c677e0b8..4acfd0cab0f4e4365139c986d5fa7cc78cd379fc 100644
--- a/core/modules/link/lib/Drupal/link/Plugin/field/formatter/LinkFormatter.php
+++ b/core/modules/link/lib/Drupal/link/Plugin/Field/FieldFormatter/LinkFormatter.php
@@ -5,12 +5,12 @@
  * Contains \Drupal\link\Plugin\field\formatter\LinkFormatter.
  */
 
-namespace Drupal\link\Plugin\field\formatter;
+namespace Drupal\link\Plugin\Field\FieldFormatter;
 
 use Drupal\Component\Utility\Url;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 use Drupal\Core\Entity\Field\FieldItemInterface;
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 
 /**
  * Plugin implementation of the 'link' formatter.
diff --git a/core/modules/link/lib/Drupal/link/Plugin/field/formatter/LinkSeparateFormatter.php b/core/modules/link/lib/Drupal/link/Plugin/Field/FieldFormatter/LinkSeparateFormatter.php
similarity index 97%
rename from core/modules/link/lib/Drupal/link/Plugin/field/formatter/LinkSeparateFormatter.php
rename to core/modules/link/lib/Drupal/link/Plugin/Field/FieldFormatter/LinkSeparateFormatter.php
index faeb1caf3962e4775dd501597ab2ad26231e7ca1..f721fdc48db23a877b8dfae8576e29d2c9de01d9 100644
--- a/core/modules/link/lib/Drupal/link/Plugin/field/formatter/LinkSeparateFormatter.php
+++ b/core/modules/link/lib/Drupal/link/Plugin/Field/FieldFormatter/LinkSeparateFormatter.php
@@ -10,7 +10,7 @@
  * http://drupal.org/node/1829202
  */
 
-namespace Drupal\link\Plugin\field\formatter;
+namespace Drupal\link\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
diff --git a/core/modules/link/lib/Drupal/link/Plugin/field/widget/LinkWidget.php b/core/modules/link/lib/Drupal/link/Plugin/Field/FieldWidget/LinkWidget.php
similarity index 96%
rename from core/modules/link/lib/Drupal/link/Plugin/field/widget/LinkWidget.php
rename to core/modules/link/lib/Drupal/link/Plugin/Field/FieldWidget/LinkWidget.php
index 142b50e463f5aa0f13edcf891b5152ec73965903..f8f68816643ce9c655b24a0e604d991cb7fca8cc 100644
--- a/core/modules/link/lib/Drupal/link/Plugin/field/widget/LinkWidget.php
+++ b/core/modules/link/lib/Drupal/link/Plugin/Field/FieldWidget/LinkWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\link\Plugin\field\widget\LinkWidget.
+ * Contains \Drupal\link\Plugin\Field\FieldWidget\LinkWidget.
  */
 
-namespace Drupal\link\Plugin\field\widget;
+namespace Drupal\link\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 
 /**
  * Plugin implementation of the 'link' widget.
diff --git a/core/modules/number/lib/Drupal/number/Plugin/field/formatter/DefaultNumberFormatter.php b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/DefaultNumberFormatter.php
similarity index 96%
rename from core/modules/number/lib/Drupal/number/Plugin/field/formatter/DefaultNumberFormatter.php
rename to core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/DefaultNumberFormatter.php
index 6cec0a6c80f582b36eb3e75a71975b390d4d9e21..7ed5a9752136323006d0e7ce089950bc2558ae47 100644
--- a/core/modules/number/lib/Drupal/number/Plugin/field/formatter/DefaultNumberFormatter.php
+++ b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/DefaultNumberFormatter.php
@@ -5,9 +5,9 @@
  * Contains \Drupal\number\Plugin\field\formatter\DefaultNumberFormatter.
  */
 
-namespace Drupal\number\Plugin\field\formatter;
+namespace Drupal\number\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/number/lib/Drupal/number/Plugin/field/formatter/NumberDecimalFormatter.php b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/NumberDecimalFormatter.php
similarity index 85%
rename from core/modules/number/lib/Drupal/number/Plugin/field/formatter/NumberDecimalFormatter.php
rename to core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/NumberDecimalFormatter.php
index 8cb6712c77be97c6fa24e7be83e02868ea227e48..a911ee1ae893917e98a3431edd6cdac31a7f1e52 100644
--- a/core/modules/number/lib/Drupal/number/Plugin/field/formatter/NumberDecimalFormatter.php
+++ b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/NumberDecimalFormatter.php
@@ -5,9 +5,7 @@
  * Definition of Drupal\number\Plugin\field\formatter\NumberDecimalFormatter.
  */
 
-namespace Drupal\number\Plugin\field\formatter;
-
-use Drupal\number\Plugin\field\formatter\DefaultNumberFormatter;
+namespace Drupal\number\Plugin\Field\FieldFormatter;
 
 /**
  * Plugin implementation of the 'number_decimal' formatter.
@@ -34,7 +32,7 @@
 class NumberDecimalFormatter extends DefaultNumberFormatter {
 
   /**
-   * Overrides Drupal\number\Plugin\field\formatter\DefaultNumberFormatter::settingsForm().
+   * {@inheritdoc}
    */
   public function settingsForm(array $form, array &$form_state) {
     $elements = parent::settingsForm($form, $form_state);
@@ -59,7 +57,7 @@ public function settingsForm(array $form, array &$form_state) {
   }
 
   /**
-   * Overrides Drupal\number\Plugin\field\formatter\DefaultNumberFormatter::numberFormat().
+   * {@inheritdoc}
    */
   protected function numberFormat($number) {
     return number_format($number, $this->getSetting('scale'), $this->getSetting('decimal_separator'), $this->getSetting('thousand_separator'));
diff --git a/core/modules/number/lib/Drupal/number/Plugin/field/formatter/NumberIntegerFormatter.php b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/NumberIntegerFormatter.php
similarity index 71%
rename from core/modules/number/lib/Drupal/number/Plugin/field/formatter/NumberIntegerFormatter.php
rename to core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/NumberIntegerFormatter.php
index 1c6538cf0466c47c4390aa0e9b6ebe210992b271..53ff8740ec660e0153dcd09fed3e442ff4ee4cb6 100644
--- a/core/modules/number/lib/Drupal/number/Plugin/field/formatter/NumberIntegerFormatter.php
+++ b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/NumberIntegerFormatter.php
@@ -2,12 +2,10 @@
 
 /**
  * @file
- * Definition of Drupal\number\Plugin\field\formatter\NumberIntegerFormatter.
+ * Contains \Drupal\number\Plugin\field\formatter\NumberIntegerFormatter.
  */
 
-namespace Drupal\number\Plugin\field\formatter;
-
-use Drupal\number\Plugin\field\formatter\DefaultNumberFormatter;
+namespace Drupal\number\Plugin\Field\FieldFormatter;
 
 /**
  * Plugin implementation of the 'number_integer' formatter.
@@ -31,7 +29,7 @@
 class NumberIntegerFormatter extends DefaultNumberFormatter {
 
   /**
-   * Overrides Drupal\number\Plugin\field\formatter\DefaultNumberFormatter::numberFormat().
+   * {@inheritdoc}
    */
   protected function numberFormat($number) {
     return number_format($number, 0, '', $this->getSetting('thousand_separator'));
diff --git a/core/modules/number/lib/Drupal/number/Plugin/field/formatter/NumberUnformattedFormatter.php b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/NumberUnformattedFormatter.php
similarity index 70%
rename from core/modules/number/lib/Drupal/number/Plugin/field/formatter/NumberUnformattedFormatter.php
rename to core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/NumberUnformattedFormatter.php
index e9ec772dc751681e8b66182a61fce441ef419f5c..d208ce369d876f797c121bfc527b3316072b4778 100644
--- a/core/modules/number/lib/Drupal/number/Plugin/field/formatter/NumberUnformattedFormatter.php
+++ b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldFormatter/NumberUnformattedFormatter.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Definition of Drupal\number\Plugin\field\formatter\NumberUnformattedFormatter.
+ * Contains \Drupal\number\Plugin\field\formatter\NumberUnformattedFormatter.
  */
 
-namespace Drupal\number\Plugin\field\formatter;
+namespace Drupal\number\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
@@ -26,7 +26,7 @@
 class NumberUnformattedFormatter extends FormatterBase {
 
   /**
-   * Implements Drupal\field\Plugin\Type\Formatter\FormatterInterface::viewElements().
+   * {@inheritdoc}
    */
   public function viewElements(FieldItemListInterface $items) {
     $elements = array();
diff --git a/core/modules/number/lib/Drupal/number/Plugin/field/widget/NumberWidget.php b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldWidget/NumberWidget.php
similarity index 94%
rename from core/modules/number/lib/Drupal/number/Plugin/field/widget/NumberWidget.php
rename to core/modules/number/lib/Drupal/number/Plugin/Field/FieldWidget/NumberWidget.php
index cdf2806925c801467949212941c0a17c4382adeb..7a86e8bde7f66d187bc7c65b555537c9f7b7bc40 100644
--- a/core/modules/number/lib/Drupal/number/Plugin/field/widget/NumberWidget.php
+++ b/core/modules/number/lib/Drupal/number/Plugin/Field/FieldWidget/NumberWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\number\Plugin\field\widget\NumberWidget.
+ * Contains \Drupal\number\Plugin\Field\FieldWidget\NumberWidget.
  */
 
-namespace Drupal\number\Plugin\field\widget;
+namespace Drupal\number\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 use Symfony\Component\Validator\ConstraintViolationInterface;
 
 /**
diff --git a/core/modules/options/lib/Drupal/options/Plugin/field/formatter/OptionsDefaultFormatter.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldFormatter/OptionsDefaultFormatter.php
similarity index 91%
rename from core/modules/options/lib/Drupal/options/Plugin/field/formatter/OptionsDefaultFormatter.php
rename to core/modules/options/lib/Drupal/options/Plugin/Field/FieldFormatter/OptionsDefaultFormatter.php
index a4ac150d8c9206a7d0f1476b6edefcc12453328f..a3f3b0c63ff6fb30f6a4232ad05126e565a37e02 100644
--- a/core/modules/options/lib/Drupal/options/Plugin/field/formatter/OptionsDefaultFormatter.php
+++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldFormatter/OptionsDefaultFormatter.php
@@ -5,9 +5,9 @@
  * Contains \Drupal\options\Plugin\field\formatter\OptionsDefaultFormatter.
  */
 
-namespace Drupal\options\Plugin\field\formatter;
+namespace Drupal\options\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/options/lib/Drupal/options/Plugin/field/formatter/OptionsKeyFormatter.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldFormatter/OptionsKeyFormatter.php
similarity index 87%
rename from core/modules/options/lib/Drupal/options/Plugin/field/formatter/OptionsKeyFormatter.php
rename to core/modules/options/lib/Drupal/options/Plugin/Field/FieldFormatter/OptionsKeyFormatter.php
index 0c31bda7f610b0fa4628efa0c7da23e529199654..b50f935e7924d692260ead9e3f9e2c5f1ec21ed5 100644
--- a/core/modules/options/lib/Drupal/options/Plugin/field/formatter/OptionsKeyFormatter.php
+++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldFormatter/OptionsKeyFormatter.php
@@ -5,9 +5,9 @@
  * Contains \Drupal\options\Plugin\field\formatter\OptionsKeyFormatter.
  */
 
-namespace Drupal\options\Plugin\field\formatter;
+namespace Drupal\options\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/options/lib/Drupal/options/Plugin/field/widget/ButtonsWidget.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/ButtonsWidget.php
similarity index 90%
rename from core/modules/options/lib/Drupal/options/Plugin/field/widget/ButtonsWidget.php
rename to core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/ButtonsWidget.php
index 75b2904539a2582f297880c755a6d357a8f0df23..d42b6a702f7afec36c3796e9f0056585609f113a 100644
--- a/core/modules/options/lib/Drupal/options/Plugin/field/widget/ButtonsWidget.php
+++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/ButtonsWidget.php
@@ -2,12 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\options\Plugin\field\widget\ButtonsWidget.
+ * Contains \Drupal\options\Plugin\Field\FieldWidget\ButtonsWidget.
  */
 
-namespace Drupal\options\Plugin\field\widget;
+namespace Drupal\options\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
+use Drupal\options\Plugin\Field\FieldWidget\OptionsWidgetBase;
 
 /**
  * Plugin implementation of the 'options_buttons' widget.
diff --git a/core/modules/options/lib/Drupal/options/Plugin/field/widget/OnOffWidget.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/OnOffWidget.php
similarity index 90%
rename from core/modules/options/lib/Drupal/options/Plugin/field/widget/OnOffWidget.php
rename to core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/OnOffWidget.php
index 31c9183298952df441bddf2542841b96fd68091c..8cdf65c97d287c1e64a7f318941c3a37805a6c57 100644
--- a/core/modules/options/lib/Drupal/options/Plugin/field/widget/OnOffWidget.php
+++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/OnOffWidget.php
@@ -2,12 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\options\Plugin\field\widget\OnOffWidget.
+ * Contains \Drupal\options\Plugin\Field\FieldWidget\OnOffWidget.
  */
 
-namespace Drupal\options\Plugin\field\widget;
+namespace Drupal\options\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
+use Drupal\options\Plugin\Field\FieldWidget\OptionsWidgetBase;
 
 /**
  * Plugin implementation of the 'options_onoff' widget.
diff --git a/core/modules/options/lib/Drupal/options/Plugin/field/widget/OptionsWidgetBase.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/OptionsWidgetBase.php
similarity index 96%
rename from core/modules/options/lib/Drupal/options/Plugin/field/widget/OptionsWidgetBase.php
rename to core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/OptionsWidgetBase.php
index 23017891b7a512b1418340393eaaa6b25c1fd42c..dbc2f22d118a5677890c3f00492411edfe08743f 100644
--- a/core/modules/options/lib/Drupal/options/Plugin/field/widget/OptionsWidgetBase.php
+++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/OptionsWidgetBase.php
@@ -2,15 +2,15 @@
 
 /**
  * @file
- * Contains \Drupal\options\Plugin\field\widget\OptionsWidgetBase.
+ * Contains \Drupal\options\Plugin\Field\FieldWidget\OptionsWidgetBase.
  */
 
-namespace Drupal\options\Plugin\field\widget;
+namespace Drupal\options\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldDefinitionInterface;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 use Drupal\Core\Entity\Field\FieldItemInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 
 /**
  * Base class for the 'options_*' widgets.
@@ -85,7 +85,7 @@ public static function validateElement(array $element, array &$form_state) {
     }
 
     // Massage submitted form values.
-    // Drupal\field\Plugin\Type\Widget\WidgetBase::submit() expects values as
+    // Drupal\Core\Field\WidgetBase::submit() expects values as
     // an array of values keyed by delta first, then by column, while our
     // widgets return the opposite.
 
diff --git a/core/modules/options/lib/Drupal/options/Plugin/field/widget/SelectWidget.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/SelectWidget.php
similarity index 91%
rename from core/modules/options/lib/Drupal/options/Plugin/field/widget/SelectWidget.php
rename to core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/SelectWidget.php
index 47e96b47a2f95684796ca2c69a7983d8c8ac7fa8..e4dab679da83ca38ae99dba59918bbbea7053f8f 100644
--- a/core/modules/options/lib/Drupal/options/Plugin/field/widget/SelectWidget.php
+++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldWidget/SelectWidget.php
@@ -2,12 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\options\Plugin\field\widget\SelectWidget.
+ * Contains \Drupal\options\Plugin\Field\FieldWidget\SelectWidget.
  */
 
-namespace Drupal\options\Plugin\field\widget;
+namespace Drupal\options\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
+use Drupal\options\Plugin\Field\FieldWidget\OptionsWidgetBase;
 
 /**
  * Plugin implementation of the 'options_select' widget.
diff --git a/core/modules/picture/lib/Drupal/picture/Plugin/field/formatter/PictureFormatter.php b/core/modules/picture/lib/Drupal/picture/Plugin/Field/FieldFormatter/PictureFormatter.php
similarity index 97%
rename from core/modules/picture/lib/Drupal/picture/Plugin/field/formatter/PictureFormatter.php
rename to core/modules/picture/lib/Drupal/picture/Plugin/Field/FieldFormatter/PictureFormatter.php
index f8b2278b3baf2e189beccc7c4b74ab03b40f293b..88828ccae8f6f0834ebea3d99e6f83fa8d6cd95e 100644
--- a/core/modules/picture/lib/Drupal/picture/Plugin/field/formatter/PictureFormatter.php
+++ b/core/modules/picture/lib/Drupal/picture/Plugin/Field/FieldFormatter/PictureFormatter.php
@@ -5,10 +5,10 @@
  * Contains \Drupal\picture\Plugin\field\formatter\PictureFormatter.
  */
 
-namespace Drupal\picture\Plugin\field\formatter;
+namespace Drupal\picture\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\image\Plugin\field\formatter\ImageFormatterBase;
+use Drupal\image\Plugin\Field\FieldFormatter\ImageFormatterBase;
 
 /**
  * Plugin for picture formatter.
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/EntityReferenceTaxonomyTermRssFormatter.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/EntityReferenceTaxonomyTermRssFormatter.php
similarity index 82%
rename from core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/EntityReferenceTaxonomyTermRssFormatter.php
rename to core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/EntityReferenceTaxonomyTermRssFormatter.php
index 65fae9b41c550118160e642d4eaeb303418ad458..e5c9b774eeaf800bf1e7b7c4c8adf66f9af84795 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/EntityReferenceTaxonomyTermRssFormatter.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/EntityReferenceTaxonomyTermRssFormatter.php
@@ -5,10 +5,10 @@
  * Contains \Drupal\taxonomy\Plugin\field\formatter\EntityReferenceTaxonomyTermRssFormatter.
  */
 
-namespace Drupal\taxonomy\Plugin\field\formatter;
+namespace Drupal\taxonomy\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\entity_reference\Plugin\field\formatter\EntityReferenceFormatterBase;
+use Drupal\entity_reference\Plugin\Field\FieldFormatter\EntityReferenceFormatterBase;
 
 /**
  * Plugin implementation of the 'entity reference taxonomy term RSS' formatter.
@@ -27,7 +27,7 @@
 class EntityReferenceTaxonomyTermRssFormatter extends EntityReferenceFormatterBase {
 
   /**
-   * Overrides Drupal\entity_reference\Plugin\field\formatter\EntityReferenceFormatterBase::viewElements().
+   * {@inheritdoc}
    */
   public function viewElements(FieldItemListInterface $items) {
     $elements = array();
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/LinkFormatter.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/LinkFormatter.php
similarity index 93%
rename from core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/LinkFormatter.php
rename to core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/LinkFormatter.php
index d1ca2878372da304efbe8daab58d804fdb4687ac..feb5b90cd756e780e80962b7dc13d0f725fe9aa9 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/LinkFormatter.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/LinkFormatter.php
@@ -5,10 +5,9 @@
  * Contains \Drupal\taxonomy\Plugin\field\formatter\LinkFormatter.
  */
 
-namespace Drupal\taxonomy\Plugin\field\formatter;
+namespace Drupal\taxonomy\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\taxonomy\Plugin\field\formatter\TaxonomyFormatterBase;
 
 /**
  * Plugin implementation of the 'taxonomy_term_reference_link' formatter.
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/PlainFormatter.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/PlainFormatter.php
similarity index 86%
rename from core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/PlainFormatter.php
rename to core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/PlainFormatter.php
index 3513d129b1d7f79a863441e9bf004b9883984906..a129e88e52980b0f4203aeb5d337f95abc1c20c6 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/PlainFormatter.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/PlainFormatter.php
@@ -5,10 +5,9 @@
  * Contains \Drupal\taxonomy\Plugin\field\formatter\PlainFormatter.
  */
 
-namespace Drupal\taxonomy\Plugin\field\formatter;
+namespace Drupal\taxonomy\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\taxonomy\Plugin\field\formatter\TaxonomyFormatterBase;
 
 /**
  * Plugin implementation of the 'taxonomy_term_reference_plain' formatter.
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/RSSCategoryFormatter.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/RSSCategoryFormatter.php
similarity index 91%
rename from core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/RSSCategoryFormatter.php
rename to core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/RSSCategoryFormatter.php
index 6d86b89d9edc70f08591a3162009b3f9ebc5bda8..b3be14c9709eccf4a78a277688b48f4ace793063 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/RSSCategoryFormatter.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/RSSCategoryFormatter.php
@@ -5,10 +5,9 @@
  * Contains \Drupal\taxonomy\Plugin\field\formatter\RSSCategoryFormatter.
  */
 
-namespace Drupal\taxonomy\Plugin\field\formatter;
+namespace Drupal\taxonomy\Plugin\Field\FieldFormatter;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\taxonomy\Plugin\field\formatter\TaxonomyFormatterBase;
 
 /**
  * Plugin implementation of the 'taxonomy_term_reference_rss_category' formatter.
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/TaxonomyFormatterBase.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php
similarity index 90%
rename from core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/TaxonomyFormatterBase.php
rename to core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php
index ef9cf1afff2c445e001c884bb45abbc1c5cca529..fd942d9b2d5c4724e2b6a178f7408423c7a05ba0 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/formatter/TaxonomyFormatterBase.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php
@@ -5,9 +5,9 @@
  * Contains \Drupal\taxonomy\Plugin\field\formatter\TaxonomyFormatterBase.
  */
 
-namespace Drupal\taxonomy\Plugin\field\formatter;
+namespace Drupal\taxonomy\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 
 /**
  * Base class for the taxonomy_term formatters.
@@ -15,7 +15,7 @@
 abstract class TaxonomyFormatterBase extends FormatterBase {
 
   /**
-   * Implements \Drupal\field\Plugin\Type\Formatter\FormatterInterface::prepareView().
+   * {@inheritdoc}
    *
    * This preloads all taxonomy terms for multiple loaded objects at once and
    * unsets values for invalid terms that do not exist.
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/widget/TaxonomyAutocompleteWidget.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldWidget/TaxonomyAutocompleteWidget.php
similarity index 95%
rename from core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/widget/TaxonomyAutocompleteWidget.php
rename to core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldWidget/TaxonomyAutocompleteWidget.php
index 77a52b70002775a2117e1ba0628b7332d351aadf..9e7f2e5977d31eaf8ee178a9188b054313ef4c2c 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/field/widget/TaxonomyAutocompleteWidget.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldWidget/TaxonomyAutocompleteWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\taxonomy\Plugin\field\widget\TaxonomyAutocompleteWidget.
+ * Contains \Drupal\taxonomy\Plugin\Field\FieldWidget\TaxonomyAutocompleteWidget.
  */
 
-namespace Drupal\taxonomy\Plugin\field\widget;
+namespace Drupal\taxonomy\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 
 /**
  * Plugin implementation of the 'taxonomy_autocomplete' widget.
diff --git a/core/modules/taxonomy/taxonomy.module b/core/modules/taxonomy/taxonomy.module
index 2e67b30c9d5a4d00fdec1311ab81b8a6908d8844..f403e81e517fcf1d08fffd66194963358e661c5a 100644
--- a/core/modules/taxonomy/taxonomy.module
+++ b/core/modules/taxonomy/taxonomy.module
@@ -1031,7 +1031,7 @@ function taxonomy_term_title(Term $term) {
  */
 function taxonomy_autocomplete_validate($element, &$form_state) {
   // Split the values into an array.
-  // @see \Drupal\taxonomy\Plugin\field\widget\TaxonomyAutocompleteWidget:massageFormValues()
+  // @see \Drupal\taxonomy\Plugin\Field\FieldWidget\TaxonomyAutocompleteWidget:massageFormValues()
   $typed_terms = array();
   if ($tags = $element['#value']) {
     $typed_terms = drupal_explode_tags($tags);
diff --git a/core/modules/telephone/lib/Drupal/telephone/Plugin/field/formatter/TelephoneLinkFormatter.php b/core/modules/telephone/lib/Drupal/telephone/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php
similarity index 94%
rename from core/modules/telephone/lib/Drupal/telephone/Plugin/field/formatter/TelephoneLinkFormatter.php
rename to core/modules/telephone/lib/Drupal/telephone/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php
index dfbb3cd0d1f556be9d1eaa083777ef61b19c96df..4cf003b4b50430425e37cf736c5e2c75d8fb4041 100644
--- a/core/modules/telephone/lib/Drupal/telephone/Plugin/field/formatter/TelephoneLinkFormatter.php
+++ b/core/modules/telephone/lib/Drupal/telephone/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php
@@ -5,9 +5,9 @@
  * Contains \Drupal\telephone\Plugin\field\formatter\TelephoneLinkFormatter.
  */
 
-namespace Drupal\telephone\Plugin\field\formatter;
+namespace Drupal\telephone\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/telephone/lib/Drupal/telephone/Plugin/field/widget/TelephoneDefaultWidget.php b/core/modules/telephone/lib/Drupal/telephone/Plugin/Field/FieldWidget/TelephoneDefaultWidget.php
similarity index 82%
rename from core/modules/telephone/lib/Drupal/telephone/Plugin/field/widget/TelephoneDefaultWidget.php
rename to core/modules/telephone/lib/Drupal/telephone/Plugin/Field/FieldWidget/TelephoneDefaultWidget.php
index a5294d45f3cde99b0a2f9d75b18c75621cd5b155..20e408991083ef9117c692b97bf900c703be75cc 100644
--- a/core/modules/telephone/lib/Drupal/telephone/Plugin/field/widget/TelephoneDefaultWidget.php
+++ b/core/modules/telephone/lib/Drupal/telephone/Plugin/Field/FieldWidget/TelephoneDefaultWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\telephone\Plugin\field\widget\TelephoneDefaultWidget.
+ * Contains \Drupal\telephone\Plugin\Field\FieldWidget\TelephoneDefaultWidget.
  */
 
-namespace Drupal\telephone\Plugin\field\widget;
+namespace Drupal\telephone\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 
 /**
  * Plugin implementation of the 'telephone_default' widget.
@@ -28,7 +28,7 @@ class TelephoneDefaultWidget extends WidgetBase {
 
 
   /**
-   * Implements Drupal\field\Plugin\Type\Widget\WidgetInterface::settingsForm().
+   * {@inheritdoc}
    */
   public function settingsForm(array $form, array &$form_state) {
     $element['placeholder'] = array(
@@ -58,7 +58,7 @@ public function settingsSummary() {
   }
 
   /**
-   * Implements \Drupal\field\Plugin\Type\Widget\WidgetInterface::formElement().
+   * {@inheritdoc}
    */
   public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, array &$form_state) {
     $element['value'] = $element + array(
diff --git a/core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextDefaultFormatter.php b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextDefaultFormatter.php
similarity index 79%
rename from core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextDefaultFormatter.php
rename to core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextDefaultFormatter.php
index 62005b75b4286ef111c084c0d21cb3d5cac60d75..dc81b57969be8a95264d0f6e8d14fe8c76dccead 100644
--- a/core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextDefaultFormatter.php
+++ b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextDefaultFormatter.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Definition of Drupal\text\Plugin\field\formatter\TextDefaultFormatter.
+ * Contains \Drupal\text\Plugin\field\formatter\TextDefaultFormatter.
  */
 
-namespace Drupal\text\Plugin\field\formatter;
+namespace Drupal\text\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextPlainFormatter.php b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextPlainFormatter.php
similarity index 75%
rename from core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextPlainFormatter.php
rename to core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextPlainFormatter.php
index 06354727bf466b3626681b242ec7d860f8ea53d9..261674806faaa086332d4c867e8c9b074069f2db 100644
--- a/core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextPlainFormatter.php
+++ b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextPlainFormatter.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Definition of Drupal\text\Plugin\field\formatter\TextPlainFormatter.
+ * Contains \Drupal\text\Plugin\field\formatter\TextPlainFormatter.
  */
 
-namespace Drupal\text\Plugin\field\formatter;
+namespace Drupal\text\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
@@ -29,7 +29,7 @@
 class TextPlainFormatter extends FormatterBase {
 
   /**
-   * Implements Drupal\field\Plugin\Type\Formatter\FormatterInterface::viewElements().
+   * {@inheritdoc}
    */
   public function viewElements(FieldItemListInterface $items) {
     $elements = array();
diff --git a/core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextSummaryOrTrimmedFormatter.php b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextSummaryOrTrimmedFormatter.php
similarity index 77%
rename from core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextSummaryOrTrimmedFormatter.php
rename to core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextSummaryOrTrimmedFormatter.php
index 18197a861c91f8a6307bf1ea1d8eaca30e9cd64f..baebdc19d4d56ded9bcf16bb0a96af5dc1448c35 100644
--- a/core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextSummaryOrTrimmedFormatter.php
+++ b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextSummaryOrTrimmedFormatter.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- *
- * Definition of Drupal\text\Plugin\field\formatter\TextSummaryOrTrimmedFormatter.
+ * Contains \Drupal\text\Plugin\field\formatter\TextSummaryOrTrimmedFormatter.
  */
-namespace Drupal\text\Plugin\field\formatter;
+
+namespace Drupal\text\Plugin\Field\FieldFormatter;
 
 /**
  * Plugin implementation of the 'text_summary_or_trimmed' formatter.
diff --git a/core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextTrimmedFormatter.php b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php
similarity index 94%
rename from core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextTrimmedFormatter.php
rename to core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php
index 0597dda4393202a625aba1b16db9b08abb6ee7ab..d8bd37bba4667195df7e10f9cdf2228a5f1c9258 100644
--- a/core/modules/text/lib/Drupal/text/Plugin/field/formatter/TextTrimmedFormatter.php
+++ b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php
@@ -2,12 +2,11 @@
 
 /**
  * @file
- *
  * Contains \Drupal\text\Plugin\field\formatter\TextTrimmedFormatter.
  */
-namespace Drupal\text\Plugin\field\formatter;
+namespace Drupal\text\Plugin\Field\FieldFormatter;
 
-use Drupal\field\Plugin\Type\Formatter\FormatterBase;
+use Drupal\Core\Field\FormatterBase;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
 /**
diff --git a/core/modules/text/lib/Drupal/text/Plugin/field/widget/TextareaWidget.php b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextareaWidget.php
similarity index 94%
rename from core/modules/text/lib/Drupal/text/Plugin/field/widget/TextareaWidget.php
rename to core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextareaWidget.php
index b4e9f7f34e4fa452e4d68b6b7adb1036902c69fd..7383005351c51b185712b3c3e4f9d4dc116788c1 100644
--- a/core/modules/text/lib/Drupal/text/Plugin/field/widget/TextareaWidget.php
+++ b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextareaWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\text\Plugin\field\widget\TextareaWidget.
+ * Contains \Drupal\text\Plugin\Field\FieldWidget\TextareaWidget.
  */
 
-namespace Drupal\text\Plugin\field\widget;
+namespace Drupal\text\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 use Symfony\Component\Validator\ConstraintViolationInterface;
 
 /**
diff --git a/core/modules/text/lib/Drupal/text/Plugin/field/widget/TextareaWithSummaryWidget.php b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextareaWithSummaryWidget.php
similarity index 93%
rename from core/modules/text/lib/Drupal/text/Plugin/field/widget/TextareaWithSummaryWidget.php
rename to core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextareaWithSummaryWidget.php
index b5745caf0ff117373a9b82be02d4513099d1bc23..e5cbab4f14c017987f9b139e5bba4ada3d6e3ef2 100644
--- a/core/modules/text/lib/Drupal/text/Plugin/field/widget/TextareaWithSummaryWidget.php
+++ b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextareaWithSummaryWidget.php
@@ -2,11 +2,12 @@
 
 /**
  * @file
- * Contains \Drupal\text\Plugin\field\widget\TextareaWithSummaryWidget.
+ * Contains \Drupal\text\Plugin\Field\FieldWidget\TextareaWithSummaryWidget.
  */
 
-namespace Drupal\text\Plugin\field\widget;
+namespace Drupal\text\Plugin\Field\FieldWidget;
 
+use Drupal\text\Plugin\Field\FieldWidget\TextareaWidget;
 use Symfony\Component\Validator\ConstraintViolationInterface;
 use Drupal\Core\Entity\Field\FieldItemListInterface;
 
diff --git a/core/modules/text/lib/Drupal/text/Plugin/field/widget/TextfieldWidget.php b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextfieldWidget.php
similarity index 95%
rename from core/modules/text/lib/Drupal/text/Plugin/field/widget/TextfieldWidget.php
rename to core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextfieldWidget.php
index c01cbed23f51d25eb4a03bf0c123a70ee37ef41f..ddbc516ac3e0078c7329933d50da79af0a847bce 100644
--- a/core/modules/text/lib/Drupal/text/Plugin/field/widget/TextfieldWidget.php
+++ b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextfieldWidget.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\text\Plugin\field\widget\TextfieldWidget.
+ * Contains \Drupal\text\Plugin\Field\FieldWidget\TextfieldWidget.
  */
 
-namespace Drupal\text\Plugin\field\widget;
+namespace Drupal\text\Plugin\Field\FieldWidget;
 
 use Drupal\Core\Entity\Field\FieldItemListInterface;
-use Drupal\field\Plugin\Type\Widget\WidgetBase;
+use Drupal\Core\Field\WidgetBase;
 use Symfony\Component\Validator\ConstraintViolationInterface;
 
 /**