diff --git a/plugins/export_ui/views_ui.class.php b/lib/Drupal/views/Plugin/ctools/export_ui/ViewsUI.php
similarity index 90%
rename from plugins/export_ui/views_ui.class.php
rename to lib/Drupal/views/Plugin/ctools/export_ui/ViewsUI.php
index 298bba4..b071d72 100644
--- a/plugins/export_ui/views_ui.class.php
+++ b/lib/Drupal/views/Plugin/ctools/export_ui/ViewsUI.php
@@ -2,15 +2,48 @@
 
 /**
  * @file
- * Contains the CTools Export UI integration code.
- *
- * Note that this is only a partial integration.
+ * Definition of Drupal\views\Plugin\ctools\export_ui\ViewsUI.
  */
 
+namespace Drupal\views\Plugin\ctools\export_ui;
+
+use Drupal\ctools\Plugin\ctools\export_ui\ExportUIPluginBase;
+use Drupal\Core\Annotation\Plugin;
+use Drupal\Core\Annotation\Translation;
+
 /**
  * CTools Export UI class handler for Views UI.
+ *
+ * @Plugin(
+ *   id = "views_ui",
+ *   name = "views_ui",
+ *   module = "views",
+ *   schema = "views_view",
+ *   access = "administer views",
+ *   menu = {
+ *     "menu_item" = "views",
+ *     "menu_title" = "Views",
+ *     "menu_description" = "Manage customized lists of content.",
+ *   },
+ *   title_singular = @Translation("view"),
+ *   title_singular_proper = @Translation("View"),
+ *   title_plural = @Translation("views"),
+ *   title_plural_proper = @Translation("Views"),
+ *   strings = {
+ *     "confirmation" = {
+ *       "revert" = {
+ *         "information" = @Translation("This action will permanently remove any customizations made to this view."),
+ *         "success" = @Translation("The view has been reverted.")
+ *       },
+ *       "delete" = {
+ *         "information" = @Translation("This action will permanently remove the view from your database."),
+ *         "success" = @Translation("The view has been deleted")
+ *       }
+ *     }
+ *   }
+ * )
  */
-class views_ui extends ctools_export_ui {
+class ViewsUI extends ExportUIPluginBase {
 
   function init($plugin) {
     // We modify the plugin info here so that we take the defaults and
@@ -29,7 +62,7 @@ class views_ui extends ctools_export_ui {
     $plugin['menu']['items']['revert']['path'] = 'view/%ctools_export_ui/revert';
     $plugin['menu']['items']['revert']['type'] = MENU_VISIBLE_IN_BREADCRUMB;
 
-    $prefix_count = count(explode('/', $plugin['menu']['menu prefix']));
+    $prefix_count = count(explode('/', $plugin['menu']['menu_prefix']));
     $plugin['menu']['items']['add-template'] = array(
       'path' => 'template/%/add',
       'title' => 'Add from template',
@@ -46,7 +79,7 @@ class views_ui extends ctools_export_ui {
 
   function hook_menu(&$items) {
     // We are using our own 'edit' still, rather than having edit on this
-    // object (maybe in the future) so unset the edit callbacks:
+    // object (maybe in the future) so unset the edit_callbacks:
 
     // Store this so we can put them back as sometimes they're needed
     // again laster:
@@ -56,7 +89,7 @@ class views_ui extends ctools_export_ui {
     unset($this->plugin['menu']['items']['edit']);
     unset($this->plugin['menu']['items']['add']);
     unset($this->plugin['menu']['items']['import']);
-    unset($this->plugin['menu']['items']['edit callback']);
+    unset($this->plugin['menu']['items']['edit_callback']);
 
     parent::hook_menu($items);
 
diff --git a/plugins/export_ui/views_ui.inc b/plugins/export_ui/views_ui.inc
deleted file mode 100644
index 042fc79..0000000
--- a/plugins/export_ui/views_ui.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/**
- * @file
- * Plugin definition for CTools Export UI integration.
- */
-
-$plugin = array(
-  'schema' => 'views_view',
-  'access' => 'administer views',
-
-  'menu' => array(
-    'menu item' => 'views',
-    'menu title' => 'Views',
-    'menu description' => 'Manage customized lists of content.',
-  ),
-
-  'title singular' => t('view'),
-  'title singular proper' => t('View'),
-  'title plural' => t('views'),
-  'title plural proper' => t('Views'),
-
-  'handler' => 'views_ui',
-
-  'strings' => array(
-    'confirmation' => array(
-      'revert' => array(
-        'information' => t('This action will permanently remove any customizations made to this view.'),
-        'success' => t('The view has been reverted.'),
-      ),
-      'delete' => array(
-        'information' => t('This action will permanently remove the view from your database.'),
-        'success' => t('The view has been deleted.'),
-      ),
-    ),
-  ),
-);
