diff --git a/core/modules/edit/lib/Drupal/edit/Annotation/Editor.php b/core/modules/edit/lib/Drupal/edit/Annotation/Editor.php
new file mode 100644
index 0000000..47570ea
--- /dev/null
+++ b/core/modules/edit/lib/Drupal/edit/Annotation/Editor.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * @file
+ * Contains \Drupal\edit\Annotation\Editor.
+ */
+
+namespace Drupal\edit\Annotation;
+
+use Drupal\Component\Annotation\Plugin;
+
+/**
+ * Defines an Editor annotation object.
+ *
+ * @Annotation
+ */
+class Editor extends Plugin {
+
+  /**
+   * The plugin ID.
+   *
+   * @var string
+   */
+  public $id;
+
+  /**
+   * The Javascript class name associated with this plugin.
+   *
+   * @var string
+   */
+  public $jsClassName;
+
+  /**
+   * An array of editors that have registered themselves as alternatives to this
+   * editor.
+   *
+   * @var array
+   */
+  public $alternativeTo;
+
+  /**
+   * The name of the module providing the editor plugin.
+   *
+   * @var string
+   */
+  public $module;
+
+}
diff --git a/core/modules/edit/lib/Drupal/edit/Plugin/EditorManager.php b/core/modules/edit/lib/Drupal/edit/Plugin/EditorManager.php
index 8d0032f..78519c0 100644
--- a/core/modules/edit/lib/Drupal/edit/Plugin/EditorManager.php
+++ b/core/modules/edit/lib/Drupal/edit/Plugin/EditorManager.php
@@ -29,7 +29,8 @@ class EditorManager extends PluginManagerBase {
    *   keyed by the corresponding namespace to look for plugin implementations,
    */
   public function __construct(\Traversable $namespaces) {
-    $this->discovery = new AnnotatedClassDiscovery('edit', 'editor', $namespaces);
+    $annotation_namespaces = array('Drupal\edit\Annotation' => $namespaces['Drupal\edit']);
+    $this->discovery = new AnnotatedClassDiscovery('edit', 'editor', $namespaces, $annotation_namespaces, 'Drupal\edit\Annotation\Editor');
     $this->discovery = new ProcessDecorator($this->discovery, array($this, 'processDefinition'));
     $this->discovery = new AlterDecorator($this->discovery, 'edit_editor');
     $this->discovery = new CacheDecorator($this->discovery, 'edit:editor');
diff --git a/core/modules/edit/lib/Drupal/edit/Plugin/edit/editor/DirectEditor.php b/core/modules/edit/lib/Drupal/edit/Plugin/edit/editor/DirectEditor.php
index c3b9b55..1811eb0 100644
--- a/core/modules/edit/lib/Drupal/edit/Plugin/edit/editor/DirectEditor.php
+++ b/core/modules/edit/lib/Drupal/edit/Plugin/edit/editor/DirectEditor.php
@@ -8,13 +8,13 @@
 namespace Drupal\edit\Plugin\edit\editor;
 
 use Drupal\edit\EditorBase;
-use Drupal\Component\Annotation\Plugin;
+use Drupal\edit\Annotation\Editor;
 use Drupal\field\Plugin\Core\Entity\FieldInstance;
 
 /**
  * Defines the "direct" Create.js PropertyEditor widget.
  *
- * @Plugin(
+ * @Editor(
  *   id = "direct",
  *   jsClassName = "direct",
  *   module = "edit"
diff --git a/core/modules/edit/lib/Drupal/edit/Plugin/edit/editor/FormEditor.php b/core/modules/edit/lib/Drupal/edit/Plugin/edit/editor/FormEditor.php
index c8d8bc8..3e3f66a 100644
--- a/core/modules/edit/lib/Drupal/edit/Plugin/edit/editor/FormEditor.php
+++ b/core/modules/edit/lib/Drupal/edit/Plugin/edit/editor/FormEditor.php
@@ -8,13 +8,13 @@
 namespace Drupal\edit\Plugin\edit\editor;
 
 use Drupal\edit\EditorBase;
-use Drupal\Component\Annotation\Plugin;
+use Drupal\edit\Annotation\Editor;
 use Drupal\field\Plugin\Core\Entity\FieldInstance;
 
 /**
  * Defines the "form" Create.js PropertyEditor widget.
  *
- * @Plugin(
+ * @Editor(
  *   id = "form",
  *   jsClassName = "formEditEditor",
  *   module = "edit"
diff --git a/core/modules/edit/tests/modules/lib/Drupal/edit_test/Plugin/edit/editor/WysiwygEditor.php b/core/modules/edit/tests/modules/lib/Drupal/edit_test/Plugin/edit/editor/WysiwygEditor.php
index e40e8b4..72ff5e3 100644
--- a/core/modules/edit/tests/modules/lib/Drupal/edit_test/Plugin/edit/editor/WysiwygEditor.php
+++ b/core/modules/edit/tests/modules/lib/Drupal/edit_test/Plugin/edit/editor/WysiwygEditor.php
@@ -8,13 +8,13 @@
 namespace Drupal\edit_test\Plugin\edit\editor;
 
 use Drupal\edit\EditorBase;
-use Drupal\Component\Annotation\Plugin;
+use Drupal\edit\Annotation\Editor;
 use Drupal\field\Plugin\Core\Entity\FieldInstance;
 
 /**
  * Defines the "wysiwyg" Create.js PropertyEditor widget.
  *
- * @Plugin(
+ * @Editor(
  *   id = "wysiwyg",
  *   jsClassName = "not needed for test",
  *   alternativeTo = {"direct"},
diff --git a/core/modules/editor/lib/Drupal/editor/Plugin/edit/editor/Editor.php b/core/modules/editor/lib/Drupal/editor/Plugin/edit/editor/InPlaceEditor.php
similarity index 91%
rename from core/modules/editor/lib/Drupal/editor/Plugin/edit/editor/Editor.php
rename to core/modules/editor/lib/Drupal/editor/Plugin/edit/editor/InPlaceEditor.php
index 81c23d7..10a2fb0 100644
--- a/core/modules/editor/lib/Drupal/editor/Plugin/edit/editor/Editor.php
+++ b/core/modules/editor/lib/Drupal/editor/Plugin/edit/editor/InPlaceEditor.php
@@ -2,28 +2,28 @@
 
 /**
  * @file
- * Contains \Drupal\editor\Plugin\edit\editor\Editor.
+ * Contains \Drupal\editor\Plugin\edit\editor\InPlaceEditor.
  */
 
 namespace Drupal\editor\Plugin\edit\editor;
 
 use Drupal\Component\Plugin\PluginBase;
-use Drupal\Component\Annotation\Plugin;
+use Drupal\edit\Annotation\Editor;
 use Drupal\Core\Annotation\Translation;
 use Drupal\edit\EditPluginInterface;
 use Drupal\field\Plugin\Core\Entity\FieldInstance;
 
 /**
- * Defines the "editor" Create.js PropertyEditor widget.
+ * Defines the "editor" Create.js InPlaceEditor widget.
  *
- * @Plugin(
- *   id = "editor",
+ * @Editor(
+ *   id = "in_place_editor",
  *   jsClassName = "editor",
  *   alternativeTo = {"direct"},
  *   module = "editor"
  * )
  */
-class Editor extends PluginBase implements EditPluginInterface {
+class InPlaceEditor extends PluginBase implements EditPluginInterface {
 
   /**
    * Implements \Drupal\edit\Plugin\EditPluginInterface::isCompatible().
