diff --git a/lib/Drupal/views/ViewListController.php b/lib/Drupal/views/ViewListController.php
index af0bc02..20a3e78 100644
--- a/lib/Drupal/views/ViewListController.php
+++ b/lib/Drupal/views/ViewListController.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\views;
 
-use Drupal\views_ui_listing\EntityListControllerBase;
+use Drupal\config\EntityListControllerBase;
 use Drupal\entity\EntityInterface;
 
 /**
@@ -20,7 +20,7 @@ public function __construct($entity_type, $entity_info = FALSE) {
   }
 
   /**
-   * Overrides Drupal\views_ui_listing\EntityListControllerBase::hookMenu();
+   * Overrides Drupal\config\EntityListControllerBase::hookMenu();
    */
   public function hookMenu() {
     // Find the path and the number of path arguments.
@@ -37,7 +37,7 @@ public function hookMenu() {
 
     // Set up the base for AJAX callbacks.
     $ajax_base = array(
-      'page callback' => 'views_ui_listing_ajax_callback',
+      'page callback' => 'config_ajax_callback',
       'page arguments' => array($this, $path_count + 1, $path_count + 2),
       'access callback' => 'user_access',
       'access arguments' => array('administer views'),
@@ -57,7 +57,7 @@ public function hookMenu() {
   }
 
   /**
-   * Overrides Drupal\views_ui_listing\EntityListControllerBase::getList();
+   * Overrides Drupal\config\EntityListControllerBase::getList();
    */
   public function getList() {
     $list = parent::getList();
@@ -73,7 +73,7 @@ public function getList() {
   }
 
   /**
-   * Overrides Drupal\views_ui_listing\EntityListControllerBase::getRowData();
+   * Overrides Drupal\config\EntityListControllerBase::getRowData();
    */
   public function getRowData(EntityInterface $view) {
     $operations = $this->buildActionLinks($view);
@@ -92,7 +92,7 @@ public function getRowData(EntityInterface $view) {
   }
 
   /**
-   * Overrides Drupal\views_ui_listing\EntityListControllerBase::getRowData();
+   * Overrides Drupal\config\EntityListControllerBase::getRowData();
    */
   public function getHeaderData() {
     return array(
@@ -120,7 +120,7 @@ public function getHeaderData() {
   }
 
   /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::defineActionLinks();
+   * Implements Drupal\config\EntityListControllerInterface::defineActionLinks();
    */
   public function defineActionLinks(EntityInterface $view) {
     $path = $this->entityInfo['list path'] . '/view/' . $view->id();
@@ -163,7 +163,7 @@ public function defineActionLinks(EntityInterface $view) {
   }
 
   /**
-   * Overrides Drupal\views_ui_listing\EntityListControllerBase::renderList();
+   * Overrides Drupal\config\EntityListControllerBase::renderList();
    */
   public function renderList() {
     $list = parent::renderList();
diff --git a/views_ui.info b/views_ui.info
index 5a9d772..c9eebf4 100644
--- a/views_ui.info
+++ b/views_ui.info
@@ -4,4 +4,3 @@ package = Views
 core = 8.x
 configure = admin/structure/views
 dependencies[] = views
-dependencies[] = views_ui_listing
diff --git a/views_ui_listing/lib/Drupal/views_ui_listing/EntityListControllerBase.php b/views_ui_listing/lib/Drupal/views_ui_listing/EntityListControllerBase.php
deleted file mode 100644
index 6b3ff99..0000000
--- a/views_ui_listing/lib/Drupal/views_ui_listing/EntityListControllerBase.php
+++ /dev/null
@@ -1,177 +0,0 @@
-<?php
-
-/**
- * Definition of Drupal\views_ui_listing\EntityListControllerBase.
- */
-
-namespace Drupal\views_ui_listing;
-
-use Drupal\entity\EntityInterface;
-use Symfony\Component\HttpFoundation\JsonResponse;
-
-/**
- * Abstract base class for config entity listing plugins.
- */
-abstract class EntityListControllerBase implements EntityListControllerInterface {
-
-  /**
-   * The Config storage controller class.
-   *
-   * @var Drupal\config\ConfigStorageController
-   */
-  protected $storage;
-
-  /**
-   * The Config entity type.
-   *
-   * @var string
-   */
-  protected $entityType;
-
-  /**
-   * The Config entity info.
-   *
-   * @var array
-   */
-  protected $entityInfo;
-
-  /**
-   * If ajax links are used on the listing page.
-   *
-   * @var bool
-   */
-  protected $usesAJAX;
-
-  public function __construct($entity_type, $entity_info = FALSE) {
-    $this->entityType = $entity_type;
-    $this->storage = entity_get_controller($entity_type);
-    if (!$entity_info) {
-      $entity_info = entity_get_info($entity_type);
-    }
-    $this->entityInfo = $entity_info;
-  }
-
-  /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::getList();
-   */
-  public function getList() {
-    return $this->storage->load();
-  }
-
-  /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::getStorageController();
-   */
-  public function getStorageController() {
-    return $this->storage;
-  }
-
-  public function getPath() {
-    return $this->entityInfo['list path'];
-  }
-
-  /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::hookMenu();
-   */
-  public function hookMenu() {
-    $items = array();
-    $items[$this->entityInfo['list path']] = array(
-      'page callback' => 'views_ui_listing_entity_listing_page',
-      'page arguments' => array($this->entityType),
-      // @todo Add a proper access callback here.
-      'access callback' => TRUE,
-    );
-    return $items;
-  }
-
-  /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::getRowData();
-   */
-  public function getRowData(EntityInterface $entity) {
-    $row = array();
-
-    $row['id'] = $entity->id();
-    $row['label'] = $entity->label();
-    $actions = $this->buildActionLinks($entity);
-    $row['actions'] = drupal_render($actions);
-
-    return $row;
-  }
-
-  /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::getHeaderData();
-   */
-  public function getHeaderData() {
-    $row = array();
-    $row['id'] = t('ID');
-    $row['label'] = t('Label');
-    $row['actions'] = t('Actions');
-    return $row;
-  }
-
-  /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::buildActionLinks();
-   */
-  public function buildActionLinks(EntityInterface $entity) {
-    $links = array();
-
-    foreach ($this->defineActionLinks($entity) as $definition) {
-      $attributes = array();
-
-      if (!empty($definition['ajax'])) {
-        $attributes['class'][] = 'use-ajax';
-        // Set this to true if we haven't already.
-        if (!isset($this->usesAJAX)) {
-          $this->usesAJAX = TRUE;
-        }
-      }
-
-      $links[] = array(
-        'title' => $definition['title'],
-        'href' => $definition['href'],
-        'attributes' => $attributes,
-      );
-    }
-
-    return array(
-      '#theme' => 'links',
-      '#links' => $links,
-    );
-  }
-
-  /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::renderList();
-   */
-  public function renderList() {
-    $rows = array();
-
-    foreach ($this->getList() as $entity) {
-      $rows[] = $this->getRowData($entity);
-    }
-
-    // Add core AJAX library if we need to.
-    if (!empty($this->usesAJAX)) {
-      drupal_add_library('system', 'drupal.ajax');
-    }
-
-    return array(
-      '#theme' => 'table',
-      '#header' => $this->getHeaderData(),
-      '#rows' => $rows,
-      '#attributes' => array(
-        'id' => 'config-entity-listing',
-      ),
-    );
-  }
-
-  /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::renderList();
-   */
-  public function renderListAJAX() {
-    $list = $this->renderList();
-    $commands = array();
-    $commands[] = ajax_command_replace('#config-entity-listing', drupal_render($list));
-
-    return new JsonResponse(ajax_render($commands));
-  }
-
-}
diff --git a/views_ui_listing/lib/Drupal/views_ui_listing/EntityListControllerInterface.php b/views_ui_listing/lib/Drupal/views_ui_listing/EntityListControllerInterface.php
deleted file mode 100644
index 41bc9dd..0000000
--- a/views_ui_listing/lib/Drupal/views_ui_listing/EntityListControllerInterface.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/**
- * @file
- * Definition of Drupal\views_ui_listing\EntityListControllerInterface.
- */
-
-namespace Drupal\views_ui_listing;
-
-use Drupal\entity\EntityInterface;
-
-/**
- * Defines an interface for Configuration entity listing plugins.
- */
-interface EntityListControllerInterface {
-
-  /*
-   * Returns a list of all available config entites of this type.
-   */
-  public function getList();
-
-  /**
-   * Gets the ConfigEntityController.
-   *
-   * @todo Put in correct namespace and docs here.
-   */
-  public function getStorageController();
-
-  /**
-   * Gets the hook_menu array item.
-   *
-   * @todo Put in correct docs here.
-   */
-  public function hookMenu();
-
-  /**
-   * Builds an array of data for each row.
-   *
-   * @param EntityInterface $entity
-   *
-   * @return array
-   *   An array of fields to use for this entity.
-   */
-  public function getRowData(EntityInterface $entity);
-
-  /**
-   * Builds the header row.
-   *
-   * @return array
-   *   An array of header strings.
-   */
-  public function getHeaderData();
-
-  /**
-   * Renders the list page markup to be output.
-   *
-   * @return string
-   *   The output markup for the listing page.
-   */
-  public function renderList();
-
-  /**
-   * Returns the list page as JSON.
-   *
-   * @return Symfony\Component\HttpFoundation\JsonResponse
-   *   AJAX commands to render the list.
-   */
-  public function renderListAJAX();
-
-  /**
-   * Renders a list of action links.
-   *
-   * @return array
-   */
-  public function buildActionLinks(EntityInterface $entity);
-
-  /**
-   * Provides an array of information to render action links.
-   *
-   * @return array
-   */
-  public function defineActionLinks(EntityInterface $entity);
-
-}
diff --git a/views_ui_listing/lib/Drupal/views_ui_listing/Tests/ConfigEntityListingTest.php b/views_ui_listing/lib/Drupal/views_ui_listing/Tests/ConfigEntityListingTest.php
deleted file mode 100644
index b2aeae3..0000000
--- a/views_ui_listing/lib/Drupal/views_ui_listing/Tests/ConfigEntityListingTest.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/**
- * @file
- * Definition of Drupal\views_ui_listing\Tests\ConfigEntityListingTest.
- */
-
-namespace Drupal\views_ui_listing\Tests;
-
-use Drupal\simpletest\WebTestBase;
-use Drupal\config\ConfigEntityBase;
-
-/**
- * Tests configuration entities.
- */
-class ConfigEntityListingTest extends WebTestBase {
-
-  /**
-   * Modules to enable.
-   *
-   * @var array
-   */
-  public static $modules = array('views_ui_listing_test');
-
-  public static function getInfo() {
-    return array(
-      'name' => 'Views configuration entity listing',
-      'description' => 'Tests configuration entity listing plugins.',
-      'group' => 'Views',
-    );
-  }
-
-  /**
-   * Tests basic listing plugin functionilty.
-   */
-  function testListingPlugin() {
-    $controller = views_ui_listing_get_list_controller('config_test');
-
-    // Get a list of Config entities.
-    $list = $controller->getList();
-    $this->assertEqual(count($list), 1, 'Correct number of plugins found.');
-    $this->assertTrue(!empty($list['default']), '"Default" config entity key found in list.');
-    $this->assertTrue($list['default'] instanceof ConfigEntityBase, '"Default" config entity is an instance of ConfigEntityBase');
-  }
-
-  /**
-   * Tests the listing UI.
-   */
-  function testListingUI() {
-    $page = $this->drupalGet('config-listing-test');
-
-    // Test that the page exists.
-    $this->assertText('Config test', 'Config test listing page title found.');
-
-    // Check we have the default id and label on the page too.
-    $this->assertText('default', '"default" ID found.');
-    $this->assertText('Default', '"Default" label found');
-
-    // Check each link.
-    foreach (array('edit', 'add', 'delete') as $link) {
-      $this->drupalSetContent($page);
-      $this->assertLink($link);
-      $this->clickLink($link);
-      $this->assertResponse(200);
-    }
-
-    // @todo Test AJAX links.
-  }
-
-}
diff --git a/views_ui_listing/tests/views_ui_listing_test/lib/Drupal/views_ui_listing_test/ConfigTestListController.php b/views_ui_listing/tests/views_ui_listing_test/lib/Drupal/views_ui_listing_test/ConfigTestListController.php
deleted file mode 100644
index 05432cf..0000000
--- a/views_ui_listing/tests/views_ui_listing_test/lib/Drupal/views_ui_listing_test/ConfigTestListController.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/**
- * Definition of Drupal\views_ui_listing_test\ConfigTestListController.
- */
-
-namespace Drupal\views_ui_listing_test;
-
-use Drupal\views_ui_listing\EntityListControllerBase;
-use Drupal\entity\EntityInterface;
-
-/**
- * Views config entity listing controller.
- */
-class ConfigTestListController extends EntityListControllerBase {
-
-  /**
-   * Overrides Drupal\views_ui_listing\EntityListControllerBase::hookMenu();
-   */
-  public function hookMenu() {
-    $path = $this->entityInfo['list path'];
-
-    $items = parent::hookMenu();
-    $items[$path]['title'] = 'Config test';
-    $items[$path]['description'] = 'Config test listing page.';
-    return $items;
-  }
-
-  /**
-   * Implements Drupal\views_ui_listing\EntityListControllerInterface::actionLinkMappings().
-   */
-  public function defineActionLinks(EntityInterface $entity) {
-    $id = $entity->id();
-
-    // @todo Add AJAX link to test.
-    return array(
-      'edit' => array(
-        'title' => 'edit',
-        'href' => "admin/structure/config_test/manage/$id/edit",
-        'ajax' => FALSE,
-      ),
-      'add' => array(
-        'title' => 'add',
-        'href' => "admin/structure/config_test/add",
-        'ajax' => FALSE,
-      ),
-      'delete' => array(
-        'title' => 'delete',
-        'href' => "admin/structure/config_test/manage/$id/delete",
-        'ajax' => FALSE,
-      ),
-    );
-  }
-
-}
diff --git a/views_ui_listing/tests/views_ui_listing_test/views_ui_listing_test.info b/views_ui_listing/tests/views_ui_listing_test/views_ui_listing_test.info
deleted file mode 100644
index 703ba6c..0000000
--- a/views_ui_listing/tests/views_ui_listing_test/views_ui_listing_test.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Views UI listing test module
-package = Views
-dependencies[] = views_ui
-dependencies[] = config_test
-hidden = TRUE
diff --git a/views_ui_listing/tests/views_ui_listing_test/views_ui_listing_test.module b/views_ui_listing/tests/views_ui_listing_test/views_ui_listing_test.module
deleted file mode 100644
index b3d9bbc..0000000
--- a/views_ui_listing/tests/views_ui_listing_test/views_ui_listing_test.module
+++ /dev/null
@@ -1 +0,0 @@
-<?php
diff --git a/views_ui_listing/views_ui_listing.info b/views_ui_listing/views_ui_listing.info
deleted file mode 100644
index 3fb1baa..0000000
--- a/views_ui_listing/views_ui_listing.info
+++ /dev/null
@@ -1,4 +0,0 @@
-name = Views UI Listing
-description = temporary replacement for export UI.
-package = Views
-core = 8.x
diff --git a/views_ui_listing/views_ui_listing.module b/views_ui_listing/views_ui_listing.module
deleted file mode 100644
index b5b7bed..0000000
--- a/views_ui_listing/views_ui_listing.module
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-use Drupal\views_ui_listing\EntityListControllerInterface;
-use Drupal\config\ConfigEntityInterface;
-
-/**
- * Implements hook_menu().
- */
-function views_ui_listing_menu() {
-  $items = array();
-  foreach (entity_get_info() as $entity_type => $type_info) {
-    if (isset($type_info['list controller class'])) {
-      $controller = views_ui_listing_get_list_controller($entity_type);
-      $items += $controller->hookMenu();
-    }
-  }
-  return $items;
-}
-
-/**
- * Gets the entity list controller class for an entity type.
- *
- * @return Drupal\entity\EntityListControllerInterface
- */
-function views_ui_listing_get_list_controller($entity_type) {
-  $controllers = &drupal_static(__FUNCTION__, array());
-  if (!isset($controllers[$entity_type])) {
-    $type_info = entity_get_info($entity_type);
-    $class = $type_info['list controller class'];
-    $controllers[$entity_type] = new $class($entity_type);
-  }
-  return $controllers[$entity_type];
-}
-
-/**
- * Page callback: Displays a config listing page.
- *
- * @param string $entity_id
- *   The entity type.
- *
- * @return string
- *   The page markup for the page.
- */
-function views_ui_listing_entity_listing_page($entity_id) {
-  $controller = views_ui_listing_get_list_controller($entity_id);
-  return $controller->renderList();
-}
-
-/**
- * Page callback: Calls a method on a config entity and reloads the listing page.
- *
- * @param Drupal\views_ui_listing\EntityListControllerInterface $controller
- *   The list controller for this entity.
- * @param Drupal\config\ConfigEntityInterface $entity
- *   The config entity being acted upon.
- * @param string $op
- *   The action to perform, e.g., 'enable' or 'disable'.
- *
- * @return mixed
- *   Either returns the listing page as JSON, or calls drupal_goto() to
- *   redirect back to the listing page.
- */
-function views_ui_listing_ajax_callback(EntityListControllerInterface $controller, ConfigEntityInterface $entity, $op) {
-  // Perform the operation.
-  $entity->$op();
-
-  // If the request is via AJAX, return the rendered list as JSON.
-  if (drupal_container()->get('request')->request->get('js')) {
-    return $controller->renderListAJAX();
-  }
-  // Otherwise, redirect back to the page.
-  else {
-    drupal_goto($controller->getPath());
-  }
-}
-
-/**
- * Implements hook_entity_info_alter().
- */
-function views_ui_listing_entity_info_alter(&$entity_info) {
-  if (isset($entity_info['config_test'])) {
-    $entity_info['config_test']['list path'] = 'config-listing-test';
-    $entity_info['config_test']['list controller class'] = 'Drupal\views_ui_listing_test\ConfigTestListController';
-  }
-}
