diff --git a/lib/Drupal/contact/Plugin/views/field/views_handler_field_contact_link.inc b/lib/Drupal/contact/Plugin/views/field/ContactLink.php
similarity index 87%
rename from lib/Drupal/contact/Plugin/views/field/views_handler_field_contact_link.inc
rename to lib/Drupal/contact/Plugin/views/field/ContactLink.php
index 9d22f01d023e1dd77934d01f4614f9a9a6352aec..a7cd8f39a33931d318b4933f9a4f2621c7ba1d2c 100644
--- a/lib/Drupal/contact/Plugin/views/field/views_handler_field_contact_link.inc
+++ b/lib/Drupal/contact/Plugin/views/field/ContactLink.php
@@ -5,12 +5,23 @@
  * Definition of views_handler_field_contact_link.
  */
 
+namespace Drupal\contact\Plugin\views\field;
+
+use Drupal\user\Plugins\views\field\UserLink;
+use Drupal\Core\Annotation\Plugin;
+
 /**
  * A field that links to the user contact page, if access is permitted.
  *
  * @ingroup views_field_handlers
  */
-class views_handler_field_contact_link extends views_handler_field_user_link {
+
+/**
+ * @Plugin(
+ *   plugin_id = "contact_link"
+ * )
+ */
+class ContactLink extends UserLink {
 
   function options_form(&$form, &$form_state) {
     $form['text']['#title'] = t('Link label');
diff --git a/modules/contact.views.inc b/modules/contact.views.inc
index 412d824dbb322ddce65d1eddf2522e5ae43c16d9..b7e1b7232e678b163011f6784668436e6116bd2b 100644
--- a/modules/contact.views.inc
+++ b/modules/contact.views.inc
@@ -15,7 +15,7 @@ function contact_views_data_alter(&$data) {
     'field' => array(
       'title' => t('Link to contact page'),
       'help' => t('Provide a simple link to the user contact page.'),
-      'handler' => 'views_handler_field_contact_link',
+      'plugin_id' => 'contact_link',
     ),
   );
 }
diff --git a/modules/system.views.inc b/modules/system.views.inc
index 8b789e8451f4a27b3b9e9e4aec9c6af721c08b13..11d621500b942c5405e4c256ad5971f427d6e31c 100644
--- a/modules/system.views.inc
+++ b/modules/system.views.inc
@@ -576,27 +576,3 @@ function _views_file_status($choice = NULL) {
 
   return $status;
 }
-
-/**
- * Implements hook_views_wizard().
- */
-function system_views_wizard() {
-  $plugins['file_managed'] = array(
-    'name' => 'file_managed',
-    'base_table' => 'file_managed',
-    'created_column' => 'timestamp',
-    'class' => 'Drupal\views\Plugins\views\wizard\File',
-    'title' => t('Files'),
-    'filters' => array(
-    ),
-    'path_field' => array(
-      'id' => 'uri',
-      'table' => 'file_managed',
-      'field' => 'uri',
-      'exclude' => TRUE,
-      'file_download_path' => TRUE,
-    ),
-  );
-
-  return $plugins;
-}
diff --git a/modules/taxonomy.views.inc b/modules/taxonomy.views.inc
index 753b85272b0822de17790ad8093a0d0b1b3f436d..3e4b757d0d55c58fb67a9e7887fbf4d7de1a5795 100644
--- a/modules/taxonomy.views.inc
+++ b/modules/taxonomy.views.inc
@@ -538,29 +538,3 @@ function views_taxonomy_set_breadcrumb(&$breadcrumb, &$argument) {
     $breadcrumb[$path] = check_plain($parent->name);
   }
 }
-
-/**
- * Implements hook_views_wizard().
- */
-function taxonomy_views_wizard() {
-  $plugins['taxonomy_term'] = array(
-    'name' => 'taxonomy_term',
-    'base_table' => 'taxonomy_term_data',
-    'class' => 'Drupal\views\Plugins\views\wizard\TaxonomyTerm',
-    'title' => t('Taxonomy terms'),
-    'filters' => array(
-    ),
-    'path_field' => array(
-      'id' => 'tid',
-      'table' => 'taxonomy_term_data',
-      'field' => 'tid',
-      'exclude' => TRUE,
-      'alter' => array(
-        'alter_text' => 1,
-        'text' => 'taxonomy/term/[tid]',
-      ),
-    ),
-  );
-
-  return $plugins;
-}
diff --git a/modules/user.views.inc b/modules/user.views.inc
index e3b2ac5e54f737f7c5232f2a7177aed04f7393a7..4e0dd88af90053706793e59f6a13798ebfa3d94b 100644
--- a/modules/user.views.inc
+++ b/modules/user.views.inc
@@ -572,36 +572,3 @@ function user_views_query_substitutions($view) {
   global $user;
   return array('***CURRENT_USER***' => intval($user->uid));
 }
-
-/**
- * Implements hook_views_wizard().
- */
-function user_views_wizard() {
-  $plugins['users'] = array(
-    'name' => 'users',
-    'base_table' => 'users',
-    'created_column' => 'created',
-    'class' => 'Drupal\views\Plugins\views\wizard\User',
-    'title' => t('Users'),
-    'filters' => array(
-      'status' => array(
-        'value' => '1',
-        'table' => 'users',
-        'field' => 'status',
-      ),
-    ),
-    'path_field' => array(
-      'id' => 'uid',
-      'table' => 'users',
-      'field' => 'uid',
-      'exclude' => TRUE,
-      'link_to_user' => FALSE,
-      'alter' => array(
-        'alter_text' => 1,
-        'text' => 'user/[uid]',
-      ),
-    ),
-  );
-
-  return $plugins;
-}
diff --git a/views_ui.module b/views_ui.module
index bbc31e0f784e2493c1092a6d2579a77923fad08d..48e0e65aa9c1a96c49b33dc7aa7630f4bc6676f0 100644
--- a/views_ui.module
+++ b/views_ui.module
@@ -577,7 +577,6 @@ function views_ui_get_wizard($wizard_type) {
  *   An array of arrays with information about all available views wizards.
  */
 function views_ui_get_wizards() {
-  ctools_include('plugins');
   $manager = views_get_plugin_manager('wizard');
   $wizard_plugins = $manager->getDefinitions();
   $wizard_tables = array();