diff --git a/README.txt b/README.txt
index 887fc5d..601646a 100644
--- a/README.txt
+++ b/README.txt
@@ -1,15 +1,19 @@
-Help Topics module
+Configurable Help module
 
 This module provides a way for site administrators to create and edit help topic
 pages. These pages are part of your site configuration, and can therefore be
 translated, imported, and exported. They can also be provided by modules,
 themes, and installation profiles.
 
+This module works in conjunction with the core (currently Experimental) Help
+Topics module. You will only be able to edit the topics you create, not the
+built-in topics that modules and themes provide using the Help Topics
+module. However, all topics will be seamlessly displayed together.
 
 INSTALLATION
 
 Install the module in the normal way for Drupal modules. The only dependency is
-the core Help module.
+the core Help and Help Topics modules.
 
 If you install the core Configuration Translation module (and its dependencies,
 Interface Translation and Language), and if you configure languages on your
@@ -29,28 +33,14 @@ also be listed on the administration page, where you can edit them if you wish.
 VIEWING TOPICS
 
 All topics where the "Top-level" field has value TRUE are listed on the main
-Help page (path admin/help). Topics where "Top-level" is FALSE will not be
-listed on this page, but they may be linked in the Related Topics section of
-other help topics.
+Help page (path admin/help), along with topics provided by modules and
+themes. Topics where "Top-level" is FALSE will not be listed on this page, but
+they may be linked in the Related Topics section of other help topics.
 
 Administrators can also view individual help topics by clicking on the topic
 title from the help topic administration page.
 
 
-HANDLING UPDATES
-
-If you update a module or theme on your site, the module/theme may add or update
-the configurable help topics it provides. Help topics are part of your site
-configuration, and due to how the Drupal Core config system works, Drupal would
-never check or notice that new or updated topics exist (it only imports
-configuration from modules and themes when you first install, and then never
-looks at the provided default configuration after that).
-
-You can use the contributed Configuration Update Manager module
-(https://www.drupal.org/project/config_update) to check for updates and get
-additional/updated topics.  Check its README file for instructions.
-
-
 SHARING TOPICS WITH OTHER SITES
 
 If you have created help topics that you would like to share with other sites,
@@ -67,28 +57,3 @@ Configuration synchronization >> Import >> Single item (path
 admin/config/development/configuration/single/import). Choose Configuration Type
 "Help topic", and paste the contents of a previously-exported configuration file
 into the text box.
-
-
-DEVELOPERS: AUTHORING TOPICS FOR A MODULE, THEME, OR PROFILE
-
-If you are developing an extension (module, theme, or profile/distribution) for
-Drupal, your extension can provide one or more help topics, since help topics
-are Configuration Entities. To do this:
-
-(1) Create the help topics using the Help Topics UI. Make sure to fill in
-    the Dependencies field on each topic (make them depend on your
-    module/theme; not necessary for installation profiles). Give each topic a
-    machine name prefixed by your extension's machine name, to avoid conflicts.
-    Make sure to have one "top level" topic, so that your help will be listed
-    on the main Help page. Avoid having too many top-level topics, as it will
-    clutter up the page; instead use the Related and List On fields to link
-    your topics together.
-
-(2) Export the topics from the Configuration management pages
-    (admin/config/development/configuration/single/export) -- they're of type
-    "Help topic". Save each one using the suggested file name into your
-    extension's config/optional directory. So for example, you might have a file
-    called config/optional/config_help.topic.mymodule.yml.
-
-(3) Then anyone using your module who has the Help Topics module also
-    installed will get your topics in their configuration.
diff --git a/config/install/filter.format.help.yml b/config/install/filter.format.help.yml
index ad48871..274682a 100644
--- a/config/install/filter.format.help.yml
+++ b/config/install/filter.format.help.yml
@@ -3,7 +3,7 @@ status: true
 dependencies:
   enforced:
     module:
-      - help_topics
+      - config_help
 name: Help
 format: help
 weight: 0
diff --git a/config/schema/help_topics.schema.yml b/config/schema/config_help.schema.yml
similarity index 76%
rename from config/schema/help_topics.schema.yml
rename to config/schema/config_help.schema.yml
index 61142c6..833873d 100644
--- a/config/schema/help_topics.schema.yml
+++ b/config/schema/config_help.schema.yml
@@ -1,4 +1,4 @@
-help_topics.topic.*:
+config_help.topic.*:
   type: config_entity
   label: 'Help topic'
   mapping:
@@ -11,9 +11,6 @@ help_topics.topic.*:
     top_level:
       type: boolean
       label: 'Top-level topic'
-    locked:
-      type: boolean
-      label: 'Locked'
     related:
       type: sequence
       label: 'Related topics'
@@ -27,14 +24,14 @@ help_topics.topic.*:
     body:
       type: sequence
       label: 'Body'
-      form_element_class: '\Drupal\help_topics\FormElement\HelpTopicBody'
+      form_element_class: '\Drupal\config_help\FormElement\HelpTopicBody'
       sequence:
-        type: help_topics_text
+        type: config_help_text
     body_format:
       type: string
       label: 'Body format'
 
-help_topics_text:
+config_help_text:
   type: mapping
   mapping:
     prefix_tags:
@@ -43,7 +40,7 @@ help_topics_text:
     text:
       type: text
       label: 'Inner text'
-      form_element_class: '\Drupal\help_topics\FormElement\HelpTopicBodyChunk'
+      form_element_class: '\Drupal\config_help\FormElement\HelpTopicBodyChunk'
     suffix_tags:
       type: string
       label: 'Suffix tags'
diff --git a/config_help.info.yml b/config_help.info.yml
new file mode 100644
index 0000000..554259c
--- /dev/null
+++ b/config_help.info.yml
@@ -0,0 +1,9 @@
+name: Configurable Help
+type: module
+description: 'Allows editing configurable help topics'
+core: 8.x
+configure: entity.config_help.collection
+dependencies:
+  - drupal:help
+  - drupal:help_topics
+  - drupal:filter
diff --git a/config_help.links.action.yml b/config_help.links.action.yml
new file mode 100644
index 0000000..005e0a6
--- /dev/null
+++ b/config_help.links.action.yml
@@ -0,0 +1,5 @@
+entity.config_help.add_form:
+  route_name: entity.config_help.add_form
+  title: 'Add new help topic'
+  appears_on:
+    - entity.config_help.collection
diff --git a/help_topics.links.menu.yml b/config_help.links.menu.yml
similarity index 60%
rename from help_topics.links.menu.yml
rename to config_help.links.menu.yml
index f62c4fb..090dcbe 100644
--- a/help_topics.links.menu.yml
+++ b/config_help.links.menu.yml
@@ -1,5 +1,5 @@
-entity.help_topic.collection:
+entity.config_help.collection:
   title: Help topics
   description: Add, delete, and edit help topics.
-  route_name: entity.help_topic.collection
+  route_name: entity.config_help.collection
   parent: system.admin_config_development
diff --git a/config_help.links.task.yml b/config_help.links.task.yml
new file mode 100644
index 0000000..54d18b0
--- /dev/null
+++ b/config_help.links.task.yml
@@ -0,0 +1,10 @@
+entity.config_help.edit_form:
+  title: Edit
+  route_name: entity.config_help.edit_form
+  base_route: entity.config_help.edit_form
+
+entity.config_help.delete_form:
+  route_name: entity.config_help.delete_form
+  base_route: entity.config_help.edit_form
+  title: Delete
+  weight: 10
diff --git a/help_topics.module b/config_help.module
similarity index 68%
rename from help_topics.module
rename to config_help.module
index 9593335..49348fd 100644
--- a/help_topics.module
+++ b/config_help.module
@@ -11,18 +11,18 @@ use Drupal\Core\Url;
 /**
  * Implements hook_help().
  */
-function help_topics_help($route_name, RouteMatchInterface $route_match) {
+function config_help_help($route_name, RouteMatchInterface $route_match) {
   switch ($route_name) {
-    case 'help.page.help_topics':
+    case 'help.page.config_help':
       $output = '';
       $output .= '<h3>' . t('About') . '</h3>';
-      $output .= '<p>' . t('The Help Topics module adds configurable and non-configurable help topics to the module overviews from the core Help module. For more information, see the <a href=":online">online documentation for the Help Topics module</a>.', [':online' => 'https://www.drupal.org/modules/help_topics']) . '</p>';
+      $output .= '<p>' . t('The Configurable Help module adds configurable and non-configurable help topics to the module overviews from the core Help module. For more information, see the <a href=":online">online documentation for the Help Topics module</a>.', [':online' => 'https://www.drupal.org/modules/config_help']) . '</p>';
       $output .= '<h3>' . t('Uses') . '</h3>';
       $output .= '<dl>';
       $output .= '<dt>' . t('Configuring help topics') . '</dt>';
       $output .= '<dd>' . t('You can add, edit, delete, and translate configurable help topics on the <a href=":topic_admin">Help topics</a> administration page. Only some topics can be edited. See the <a href=":main_topic">Building a help system topic</a> for more information on configuring help topics.', [
-        ':topic_admin' => Url::fromRoute('entity.help_topic.collection')->toString(),
-        ':main_topic' => Url::fromRoute('help_topics.help_topic', ['id' => 'help_system_building'])->toString(),
+        ':topic_admin' => Url::fromRoute('entity.config_help.collection')->toString(),
+        ':main_topic' => Url::fromRoute('config_help.config_help', ['id' => 'help_system_building'])->toString(),
       ]) . '</dd>';
       $output .= '<dt>' . t('Viewing help topics') . '</dt>';
       $output .= '<dd>' . t('The top-level help topics are listed on the main <a href=":help_page">Help page</a>.', [':help_page' => Url::fromRoute('help.main')->toString()]) . '</dd>';
@@ -34,12 +34,12 @@ function help_topics_help($route_name, RouteMatchInterface $route_match) {
     case 'help_topics.help_topic':
       return '<p>' . t('See the <a href=":help_page">Help page</a> for more topics, or the <a href=":help_admin">Help topics administration page</a> to create and edit topics.', [
         ':help_page' => Url::fromRoute('help.main')->toString(),
-        ':help_admin' => Url::fromRoute('entity.help_topic.collection')->toString(),
+        ':help_admin' => Url::fromRoute('entity.config_help.collection')->toString(),
       ]) . '</p>';
 
-    case 'entity.help_topic.collection':
-      return '<p>' . t('Depending on your permissions, from this page you can edit unlocked configuration-based help topics, translate topics, add new topics, lock topics to editing, and unlock locked topics. See the <a href=":main_topic">Building a help system topic</a> for more information.', [
-        ':main_topic' => Url::fromRoute('help_topics.help_topic', ['id' => 'help_system_building'])->toString(),
+    case 'entity.config_help.collection':
+      return '<p>' . t('Depending on your permissions, from this page you can edit configuration-based help topics, translate topics, and add new topics. See the <a href=":main_topic">Building a help system topic</a> for more information.', [
+        ':main_topic' => Url::fromRoute('config_help.config_help', ['id' => 'help_system_building'])->toString(),
       ]) . '</p>';
   }
 }
@@ -47,9 +47,9 @@ function help_topics_help($route_name, RouteMatchInterface $route_match) {
 /**
  * Implements hook_theme().
  */
-function help_topics_theme($existing, $type, $theme, $path) {
+function config_help_theme($existing, $type, $theme, $path) {
   return [
-    'help_topic' => [
+    'config_help' => [
       'variables' => [
         'body' => [],
         'related' => [],
diff --git a/config_help.permissions.yml b/config_help.permissions.yml
new file mode 100644
index 0000000..4b695ff
--- /dev/null
+++ b/config_help.permissions.yml
@@ -0,0 +1,3 @@
+administer config help:
+  title: 'Administer configured help topics'
+  description: 'Create, edit, and delete help topics'
diff --git a/config_help.routing.yml b/config_help.routing.yml
new file mode 100644
index 0000000..ca72fa1
--- /dev/null
+++ b/config_help.routing.yml
@@ -0,0 +1,20 @@
+config_help.topic_autocomplete:
+  path: '/help-topics/autocomplete-topic'
+  defaults:
+    _controller: '\Drupal\config_help\Controller\AutocompleteController::topicAutocomplete'
+  requirements:
+    _permission: 'administer help topics'
+
+config_help.module_autocomplete:
+  path: '/help-topics/autocomplete-module'
+  defaults:
+    _controller: '\Drupal\config_help\Controller\AutocompleteController::moduleAutocomplete'
+  requirements:
+    _permission: 'administer help topics'
+
+config_help.theme_autocomplete:
+  path: '/help-topics/autocomplete-theme'
+  defaults:
+    _controller: '\Drupal\config_help\Controller\AutocompleteController::themeAutocomplete'
+  requirements:
+    _permission: 'administer help topics'
diff --git a/help_topics.tokens.inc b/config_help.tokens.inc
similarity index 88%
rename from help_topics.tokens.inc
rename to config_help.tokens.inc
index 4005e78..3cdb6d4 100644
--- a/help_topics.tokens.inc
+++ b/config_help.tokens.inc
@@ -11,7 +11,7 @@ use Drupal\Core\Render\BubbleableMetadata;
 /**
  * Implements hook_token_info().
  */
-function help_topics_token_info() {
+function config_help_token_info() {
   $types['route'] = [
     'name' => t("Route information"),
     'description' => t("Tokens based on route names."),
@@ -31,7 +31,7 @@ function help_topics_token_info() {
   $topics = [];
   $topics['url'] = [
     'name' => t('URL'),
-    'description' => t('The URL to the topic. Provide the topic machine name as help_topic:url:MACHINE_NAME'),
+    'description' => t('The URL to the topic. Provide the topic machine name as config_help:url:MACHINE_NAME'),
   ];
 
   return [
@@ -46,10 +46,10 @@ function help_topics_token_info() {
 /**
  * Implements hook_tokens().
  */
-function help_topics_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) {
+function config_help_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) {
   $replacements = [];
   $token_service = \Drupal::token();
-  /** @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface $plugin_manager */
+  /** @var \Drupal\help_topics\HelpTopicPluginManagerInterface $plugin_manager */
   $plugin_manager = \Drupal::service('plugin.manager.help_topic');
 
   // Our tokens generate URLs, which depend on language. See if a language is
@@ -66,7 +66,7 @@ function help_topics_tokens($type, $tokens, array $data, array $options, Bubblea
   if ($type == 'help_topic') {
     $topics = $token_service->findWithPrefix($tokens, 'url');
     foreach ($topics as $name => $original) {
-      /** @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginInterface $topic */
+      /** @var \Drupal\help_topics\HelpTopicPluginInterface $topic */
       if ($plugin_manager->hasDefinition($name) && $topic = $plugin_manager->createInstance($name, [])) {
         $url = $topic->toUrl($url_options)->toString(TRUE);
         $replacements[$original] = $url->getGeneratedUrl();
diff --git a/help_topics.info.yml b/help_topics.info.yml
deleted file mode 100644
index 602f3b5..0000000
--- a/help_topics.info.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-name: Help Topics
-type: module
-description: 'Displays and configures help topics'
-core: 8.x
-configure: entity.help_topic.collection
-dependencies:
-  - drupal:help
-  - drupal:filter
diff --git a/help_topics.install b/help_topics.install
deleted file mode 100644
index c8a6d8f..0000000
--- a/help_topics.install
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-/**
- * @file
- * Update functions for help_topics module.
- */
-
-/**
- * Update existing help topics to new schema, and add tags to help text format.
- */
-function help_topics_update_8201($sandbox) {
-  $config_factory = \Drupal::configFactory();
-
-  if (!isset($sandbox['progress'])) {
-    // This is the first run -- initialize, and also update the help format
-    // so it has more tags.
-    $config = $config_factory->getEditable('filter.format.help');
-    $filters = $config->get('filters');
-    foreach ($filters as $index => $filter) {
-      if ($filter['id'] == 'filter_html') {
-        $filter['settings']['allowed_html'] .= ' <p> <ul> <ol> <li> <dl> <dt> <dd> <h2> <h3> <code> <pre> <table> <caption> <tbody> <thead> <tfoot> <th> <td> <tr>';
-        $filters[$index] = $filter;
-      }
-    }
-    $config->set('filters', $filters);
-    $config->save(TRUE);
-
-    // Find the list of all existing help topics.
-    $sandbox['topics'] = $config_factory->listAll('config_help.topic.');
-    $sandbox['start_with'] = 0;
-    $sandbox['num'] = count($sandbox['topics']);
-  }
-
-  // Update up to 20 topics in a batch.
-  $topics = array_slice($sandbox['topics'], $sandbox['start_with'], 20);
-  if (!$topics) {
-    $sandbox['#finished'] = 1;
-    return;
-  }
-  $sandbox['#finished'] = ($sandbox['start_with'] + 20) / $sandbox['num'];
-  $sandbox['start_with'] += 20;
-
-  foreach ($topics as $topic) {
-    $config = $config_factory->getEditable($topic);
-    $config->set('body_format', 'help');
-
-    $old_body = $config->get('body');
-    $new_body = [];
-    $previous_list = '';
-    $previous_index = 0;
-    foreach ($old_body as $index => $old_chunk) {
-      $new_chunk = ['text' => $old_chunk['text']['value']];
-      switch ($old_chunk['id']) {
-        case 'paragraph':
-          $new_list = '';
-          $new_chunk['prefix_tags'] = '<p>';
-          $new_chunk['suffix_tags'] = '</p>';
-          break;
-
-        case 'heading':
-          $new_list = '';
-          $new_chunk['prefix_tags'] = '<h2>';
-          $new_chunk['suffix_tags'] = '</h2>';
-          break;
-
-        case 'subheading':
-          $new_list = '';
-          $new_chunk['prefix_tags'] = '<h3>';
-          $new_chunk['suffix_tags'] = '</h3>';
-          break;
-
-        case 'code':
-          $new_list = '';
-          $new_chunk['prefix_tags'] = '<pre><code>';
-          $new_chunk['suffix_tags'] = '</code></pre>';
-          break;
-
-        case 'bullet':
-          $new_list = 'ul';
-          $new_chunk['prefix_tags'] = '<li>';
-          $new_chunk['suffix_tags'] = '</li>';
-          break;
-
-        case 'numbered':
-          $new_list = 'ol';
-          $new_chunk['prefix_tags'] = '<li>';
-          $new_chunk['suffix_tags'] = '</li>';
-          break;
-
-        case 'description_name':
-          $new_list = 'dl';
-          $new_chunk['prefix_tags'] = '<dt>';
-          $new_chunk['suffix_tags'] = '</dt>';
-          break;
-
-        case 'description_value':
-          $new_list = 'dl';
-          $new_chunk['prefix_tags'] = '<dd>';
-          $new_chunk['suffix_tags'] = '</dd>';
-          break;
-
-        default:
-          $new_list = '';
-          $new_chunk['prefix_tags'] = '';
-          $new_chunk['suffix_tags'] = '';
-          break;
-      }
-
-      // Close previous list if this isn't part of it.
-      if ($previous_list && ($new_list != $previous_list)) {
-        $new_body[$previous_index]['suffix_tags'] .= '</' . $previous_list . '>';
-      }
-      // Open new list if it wasn't already open.
-      if ($new_list && ($new_list != $previous_list)) {
-        $new_chunk['prefix_tags'] = '<' . $new_list . '>' . $new_chunk['prefix_tags'];
-      }
-      // Save this chunk and update previous variables.
-      $new_body[$index] = $new_chunk;
-      $previous_index = $index;
-      $previous_list = $new_list;
-    }
-
-    // Close out the last list if necessary.
-    if ($previous_list) {
-      $new_body[$previous_index]['suffix_tags'] .= '</' . $previous_list . '>';
-    }
-
-    // Save the configuration.
-    $config->set('body', $new_body);
-    $config->save(TRUE);
-  }
-}
diff --git a/help_topics.links.action.yml b/help_topics.links.action.yml
deleted file mode 100644
index b4432d3..0000000
--- a/help_topics.links.action.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-entity.help_topic.add_form:
-  route_name: entity.help_topic.add_form
-  title: 'Add new help topic'
-  appears_on:
-    - entity.help_topic.collection
diff --git a/help_topics.links.task.yml b/help_topics.links.task.yml
deleted file mode 100644
index 12f368f..0000000
--- a/help_topics.links.task.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-entity.help_topic.edit_form:
-  title: Edit
-  route_name: entity.help_topic.edit_form
-  base_route: entity.help_topic.edit_form
-
-entity.help_topic.delete_form:
-  route_name: entity.help_topic.delete_form
-  base_route: entity.help_topic.edit_form
-  title: Delete
-  weight: 10
diff --git a/help_topics.permissions.yml b/help_topics.permissions.yml
deleted file mode 100644
index c072b6e..0000000
--- a/help_topics.permissions.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-administer help topics:
-  title: 'Administer configured help topics'
-  description: 'Create, edit, and delete unlocked help topics'
-view help topics:
-  title: 'View configured help topics'
-administer help topic locking:
-  title: 'Lock and unlock configured help topics'
diff --git a/help_topics.routing.yml b/help_topics.routing.yml
deleted file mode 100644
index 6183a62..0000000
--- a/help_topics.routing.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-help_topics.help_topic:
-  path: '/admin/help/topic/{id}'
-  defaults:
-    _controller: '\Drupal\help_topics\Controller\HelpTopicPluginController::viewHelpTopic'
-  requirements:
-    _permission: 'view help topics'
-
-help_topics.topic_autocomplete:
-  path: '/help-topics/autocomplete-topic'
-  defaults:
-    _controller: '\Drupal\help_topics\Controller\AutocompleteController::topicAutocomplete'
-  requirements:
-    _permission: 'administer help topics'
-
-help_topics.module_autocomplete:
-  path: '/help-topics/autocomplete-module'
-  defaults:
-    _controller: '\Drupal\help_topics\Controller\AutocompleteController::moduleAutocomplete'
-  requirements:
-    _permission: 'administer help topics'
-
-help_topics.theme_autocomplete:
-  path: '/help-topics/autocomplete-theme'
-  defaults:
-    _controller: '\Drupal\help_topics\Controller\AutocompleteController::themeAutocomplete'
-  requirements:
-    _permission: 'administer help topics'
diff --git a/help_topics.services.yml b/help_topics.services.yml
deleted file mode 100644
index 8fd573f..0000000
--- a/help_topics.services.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-services:
-  help_topics.breadcrumb:
-    class: Drupal\help_topics\HelpBreadcrumbBuilder
-    arguments: ['@string_translation']
-    tags:
-      - { name: breadcrumb_builder, priority: 900 }
-  plugin.manager.help_topic:
-    class: Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManager
-    arguments: ['@module_handler', '@theme_handler']
diff --git a/help_topics/config_basic.help_topic.yml b/help_topics/config_basic.help_topic.yml
deleted file mode 100644
index a56622b..0000000
--- a/help_topics/config_basic.help_topic.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-id: config_basic
-label: 'Changing basic site settings'
-top_level: true
-related: {  }
-list_on: {  }
-body:
-  -
-    text: 'The settings for your site are configured on various administrative pages, as follows:'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Site name, slogan, and email address'
-    prefix_tags: '<dl><dt>'
-    suffix_tags: '</dt>'
-  -
-    text: 'On the <a href="[route|url|system.site_information_settings]"><em>Basic site settings</em></a> page, which you can reach in the main <em>Manage</em> administrative menu, by navigating to <em>Configuration</em> &gt; <em>System</em> &gt; <em>Basic site settings</em>.'
-    prefix_tags: '<dd>'
-    suffix_tags: '</dd>'
-  -
-    text: 'Time zone and country'
-    prefix_tags: '<dt>'
-    suffix_tags: '</dt>'
-  -
-    text: 'On the <a href="[route|url|system.regional_settings]"><em>Regional settings</em></a> page, which you can reach in the main <em>Manage</em> administrative menu, by navigating to <em>Configuration</em> &gt; <em>Regional and language</em> &gt; <em>Regional settings</em>.'
-    prefix_tags: '<dd>'
-    suffix_tags: '</dd>'
-  -
-    text: 'Date and time formats'
-    prefix_tags: '<dt>'
-    suffix_tags: '</dt>'
-  -
-    text: 'On the <a href="[route|url|entity.date_format.collection]"><em>Date and time formats</em></a> page, which you can reach in the main <em>Manage</em> administrative menu, by navigating to <em>Configuration</em> &gt; <em>Regional and language</em> &gt; <em>Date and time formats</em>.'
-    prefix_tags: '<dd>'
-    suffix_tags: '</dd></dl>'
-body_format: help
diff --git a/help_topics/config_error.help_topic.yml b/help_topics/config_error.help_topic.yml
deleted file mode 100644
index 900bb48..0000000
--- a/help_topics/config_error.help_topic.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-id: config_error
-label: 'Configuring error responses, including 403/404 pages'
-top_level: false
-related:
-  - config_basic
-  - maintenance
-list_on:
-  - config_basic
-  - maintenance
-  - menu_overview
-  - security
-body:
-  -
-    text: 'Configuring 403/404 pages'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: 'The core software provides default responses for 403 response (Not Authorized: when someone tries to visit a page they do not have permission to see) and 404 response (Not Found: when someone tries to visit a page that does not exist). You can change what page is displayed for these responses on the <a href="[route|url|system.site_information_settings]"><em>Basic site settings</em></a> page, which you can reach in the main <em>Manage</em> administrative menu, by navigating to <em>Configuration</em> &gt; <em>System</em> &gt; <em>Basic site settings</em>. Note that the pages you want to use must already exist as either system-provided pages or content that you have created.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Responding to software errors'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: 'Software errors on your site are logged, if you have a logging module installed (such as the core Database Logging module or the core Syslog module). You can configure whether or not error messages are also shown (to both administrators and other site visitors) on the <a href="[route|url|system.logging_settings]"><em>Logging and errors</em></a> configuration page, which you can reach in the main <em>Manage</em> administrative menu, by navigating to <em>Configuration</em> &gt; <em>Development</em> &gt; <em>Logging and errors</em>.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Viewing the site log'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: 'If you have the core Database Logging module installed, you can view recent error and informational messages by navigating in the main <em>Manage</em> administrative menu to <em>Reports</em> &gt; <em>Recent log messages</em>. If you are using the core Syslog module for logging, error messages will be logged in your web server''s log files.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-body_format: help
diff --git a/help_topics/derived.help_topic.yml b/help_topics/derived.help_topic.yml
deleted file mode 100644
index e4a0d8c..0000000
--- a/help_topics/derived.help_topic.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-id: entity
-class: \Drupal\help_topics\Plugin\HelpTopic\DerivedHelpTopicPlugin
-deriver: \Drupal\help_topics\Plugin\Deriver\HelpTopicDeriver
diff --git a/help_topics/help_system_building.help_topic.yml b/help_topics/help_system_building.help_topic.yml
deleted file mode 100644
index b9567c5..0000000
--- a/help_topics/help_system_building.help_topic.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-id: help_system_building
-label: 'Building a help system'
-top_level: true
-related:
-  - help_topic_form
-  - help_topic_writing
-list_on: {  }
-body:
-  -
-    text: 'Follow these steps to build a help system for different types/roles of users on your system to use:'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Plan your help system: make a list of the topics each type/role of user would benefit from.'
-    prefix_tags: '<ol><li>'
-    suffix_tags: '</li>'
-  -
-    text: 'Assess the existing help topics, which are either plugin-based topics or configuration-based topics provided by modules and themes. Configuration-based topics are editable (if unlocked), and can be seen on the <a href="[route|url|entity.help_topic.collection]">Help topics</a> administration page. Plugin-based topics cannot be edited, and are accessible from the main <a href="[route|url|help.main]">Help</a> page.'
-    prefix_tags: '<li>'
-    suffix_tags: '</li>'
-  -
-    text: 'Use the <em>Add new help topic</em> button to add the missing topics. Be sure to make links between related topics, but be careful not to make links that would take people to topics not relevant to their roles and permissions on the site. See the <a href="[help_topic|url|help_topic_form]">Help topic editing form</a> topic for more information about the editing form, and the <a href="[help_topic|url|help_topic_writing]">Writing good help</a> topic for suggestions on making good topics.'
-    prefix_tags: '<li>'
-    suffix_tags: '</li>'
-  -
-    text: 'For each role on your site that needs a help system, make a top-level topic with a title like "Help for content editors" (for the content editor role, in this case). Leave the body of this topic blank (or maybe provide a short introduction to what the role''s responsibilities are). List all the topics that the person needs to see in the <em>Related</em> field.'
-    prefix_tags: '<li>'
-    suffix_tags: '</li>'
-  -
-    text: 'Make sure that each role has the <em>View configured help topics</em> permission, so that they will be able to see their help pages. Each top-level topic you add will be visible on the main <a href="[route|url|help.main]">Help</a> page.'
-    prefix_tags: '<li>'
-    suffix_tags: '</li></ol>'
-body_format: help
diff --git a/help_topics/help_topic_form.help_topic.yml b/help_topics/help_topic_form.help_topic.yml
deleted file mode 100644
index 2374e1b..0000000
--- a/help_topics/help_topic_form.help_topic.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-id: help_topic_form
-label: 'Help topic editing form'
-top_level: false
-related:
-  - help_system_building
-  - help_topic_writing
-list_on: {  }
-body:
-  -
-    text: 'You can access the help topic editing form by adding a new configurable help topic or editing an existing help topic, from the <a href="[route|url|entity.help_topic.collection]">Help topics</a> administration page. Here is a list of the fields on the form (fields that are similar to those found on other forms, like Title and Machine name, are not described in this list):'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Top-level topic'
-    prefix_tags: '<dl><dt>'
-    suffix_tags: '</dt>'
-  -
-    text: 'To reduce clutter, only the topics that have this field checked are listed on the main <a href="[route|url|help.main]">Help</a> page. Generally, the top-level topics should have one or more Related topics listed on their pages, so that they will lead the viewer to additional help.'
-    prefix_tags: '<dd>'
-    suffix_tags: '</dd>'
-  -
-    text: 'Related topics and Topics to list this topic on'
-    prefix_tags: '<dt>'
-    suffix_tags: '</dt>'
-  -
-    text: 'Use these two fields to make links between topics. If topic A lists topic B in <em>Related topics</em>, then someone viewing topic A will see a link to topic B in the <em>Related topics</em> section at the bottom. If topic A lists topic B in <em>Topics to list this topic on</em>, then someone viewing topic B will see a link to topic A in the <em>Related topics</em> section at the bottom.'
-    prefix_tags: '<dd>'
-    suffix_tags: '</dd>'
-  -
-    text: 'You can use either of these fields to make links between topics. In general, <em>Related topics</em> is preferred. However, you may want to use <em>Topics to list this topic on</em> instead if you are creating a custom topics for your site, and the topic you want the link to appear on was provided by a module (you might want to avoid editing the module-provided topic, for easier updates). Another scenario would be that you are a module developer and are writing topics to provide as part of your module, and the topic you want to add a link to is not part of your module (so you cannot edit it), or has more module dependencies (so it may not be present on a given site).'
-    prefix_tags: '<dd>'
-    suffix_tags: '</dd>'
-  -
-    text: 'Module and theme dependencies'
-    prefix_tags: '<dt>'
-    suffix_tags: '</dt>'
-  -
-    text: 'These fields are primarily useful for module and theme developers who are writing topics that they plan to export and provide as configuration with their module or theme. Filling in the proper module and theme dependencies will ensure that the help topic is only added to a site''s configuration if all of the module or theme dependencies are present on the site. Leave these fields blank if you are writing custom topics for a site.'
-    prefix_tags: '<dd>'
-    suffix_tags: '</dd></dl>'
-body_format: help
diff --git a/help_topics/help_topic_writing.help_topic.yml b/help_topics/help_topic_writing.help_topic.yml
deleted file mode 100644
index 744e8c8..0000000
--- a/help_topics/help_topic_writing.help_topic.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-id: help_topic_writing
-label: 'Writing good help'
-top_level: false
-related:
-  - help_system_building
-  - help_topic_form
-list_on: {  }
-body:
-  -
-    text: 'Here are some suggestions for how to make your help topics as useful as possible for readers:'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Choose short titles. If the topic describes a task, start with a verb in -ing form, like "Building a help system".'
-    prefix_tags: '<ul><li>'
-    suffix_tags: '</li>'
-  -
-    text: 'Make your topics modular and short, using links to connect information together (see <a href="[help_topic|url|help_topic_form]">Help topic form</a> for information on how to make links).'
-    prefix_tags: '<li>'
-    suffix_tags: '</li>'
-  -
-    text: 'Use headings and lists to organize your topics.'
-    prefix_tags: '<li>'
-    suffix_tags: '</li>'
-  -
-    text: 'Write in second person (you, your). When describing a task, use imperative mood (tell people directly what to do, such as "Enter information in the ABC field", rather than using words like "please" or more passive or declarative language like "the ABC field needs to be filled in").'
-    prefix_tags: '<li>'
-    suffix_tags: '</li></ul>'
-body_format: help
diff --git a/help_topics/maintenance.help_topic.yml b/help_topics/maintenance.help_topic.yml
deleted file mode 100644
index 1f435a8..0000000
--- a/help_topics/maintenance.help_topic.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-id: maintenance
-label: 'Maintaining and troubleshooting your site'
-top_level: true
-related: {  }
-list_on: {  }
-body:
-  -
-    text: 'The related topics listed here will help you keep your site running and troubleshoot problems.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-body_format: help
diff --git a/help_topics/menu_overview.help_topics.yml b/help_topics/menu_overview.help_topics.yml
deleted file mode 100644
index 1a48f29..0000000
--- a/help_topics/menu_overview.help_topics.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-id: menu_overview
-label: 'Defining navigation and URLs'
-top_level: true
-related: {  }
-list_on: {  }
-body:
-  -
-    text: 'The related topics listed here describe how to set up various aspects of site navigation and URLs.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-body_format: help
diff --git a/help_topics/security.help_topic.yml b/help_topics/security.help_topic.yml
deleted file mode 100644
index 3f4b749..0000000
--- a/help_topics/security.help_topic.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-id: security
-label: 'Making your site secure'
-top_level: true
-related: {  }
-list_on: {  }
-body:
-  -
-    text: 'The topics listed here will help you make and keep your site secure.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-body_format: help
diff --git a/help_topics/security_account_settings.help_topic.yml b/help_topics/security_account_settings.help_topic.yml
deleted file mode 100644
index d434534..0000000
--- a/help_topics/security_account_settings.help_topic.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-id: security_account_settings
-label: 'Defining how user accounts are created'
-top_level: false
-related:
-  - security
-list_on:
-  - config_basic
-  - security
-body:
-  -
-    text: 'On the <a href="[route|url|entity.user.admin_form]"><em>Account settings</em></a> page, which you can reach from the <em>Manage</em> administrative menu, by navigating to <em>Configuration</em> &gt; <em>People</em> &gt; <em>Account settings</em> (requires the <em>Administer account settings</em> permission), you can configure several settings related to how user accounts are created:'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'You can make it possible for new users to register themselves, with or without administrator approval. Or, you can make it so only administrators with <em>Administer users</em> permission can register new users.'
-    prefix_tags: '<ul><li>'
-    suffix_tags: '</li>'
-  -
-    text: 'You can require email verification of new user accounts.'
-    prefix_tags: '<li>'
-    suffix_tags: '</li>'
-  -
-    text: 'You can enable or disable a password strength indicator, which is shown whenever passwords are being set up or changed.'
-    prefix_tags: '<li>'
-    suffix_tags: '</li>'
-  -
-    text: 'You can edit the email messages that are sent to users in conjunction with the user registration process.'
-    prefix_tags: '<li>'
-    suffix_tags: '</li></ul>'
-body_format: help
diff --git a/help_topics/ui_accessibility.help_topic.yml b/help_topics/ui_accessibility.help_topic.yml
deleted file mode 100644
index 23c06d0..0000000
--- a/help_topics/ui_accessibility.help_topic.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-id: ui_accessibility
-label: 'Accessibility features'
-top_level: false
-related:
-  - ui_components
-list_on:
-  - ui_components
-body:
-  -
-    text: 'The following features of the administrative user interface may help administrative users with disabilities access your site:'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Disabling drag-and-drop functionality'
-    prefix_tags: '<dl><dt>'
-    suffix_tags: '</dt>'
-  -
-    text: 'The default drag-and-drop user interface for ordering tables in the administrative interface presents a challenge for some users, including users of screen readers and other assistive technology. The drag-and-drop interface can be disabled in a table by clicking a link labeled <em>Show row weights</em> above the table. The replacement interface allows users to order the table by choosing numerical weights instead of dragging table rows.'
-    prefix_tags: '<dd>'
-    suffix_tags: '</dd></dl>'
-body_format: help
diff --git a/help_topics/ui_components.help_topic.yml b/help_topics/ui_components.help_topic.yml
deleted file mode 100644
index ff58918..0000000
--- a/help_topics/ui_components.help_topic.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-id: ui_components
-label: 'Using the administrative interface'
-top_level: true
-related: {  }
-list_on: {  }
-body:
-  -
-    text: 'The related topics listed here describe various aspects of the administrative interface, and tell how to use them.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-body_format: help
diff --git a/help_topics/ui_contextual.help_topic.yml b/help_topics/ui_contextual.help_topic.yml
deleted file mode 100644
index 2139378..0000000
--- a/help_topics/ui_contextual.help_topic.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-id: ui_contextual
-label: 'Contextual links'
-top_level: false
-related:
-  - ui_components
-list_on:
-  - ui_components
-body:
-  -
-    text: 'What are contextual links?'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: '<em>Contextual links</em> give users with the <em>Use contextual links</em> permission quick access to administrative tasks related to areas of non-administrative pages. For example, if a page on your site displays a block, the block would have a contextual link that would allow users with permission to configure the block. If the block contains a menu or a view, it would also have a contextual link for editing the menu links or the view. Clicking a contextual link takes you to the related administrative page directly, without needing to navigate through the administrative menu system.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Displaying and using contextual links'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: 'If you have the core Contextual Links module installed, the contextual links related to an area on a page can be displayed by clicking the contextual links button in that area of the page. In most themes, this button looks like a pencil and is placed in the upper right corner of the page area (upper left for right-to-left languages); however, contextual links buttons are normally hidden. Here are two ways to make contextual links buttons visible:'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Hovering your mouse over an area on the page will temporarily make the contextual links button visible, if there is one for that area of the page. Also, in most themes, the page area that the contextual links pertain to will be outlined while you are hovering.'
-    prefix_tags: '<ul><li>'
-    suffix_tags: '</li>'
-  -
-    text: 'If you have the core Toolbar module enabled, there will be a contextual links toggle button at the far right end of the toolbar (far left end for right-to-left languages; this button looks like a pencil in most themes). Clicking the toggle button will make all the individual contextual links buttons on the page visible; clicking the toggle button again will make them invisible.'
-    prefix_tags: '<li>'
-    suffix_tags: '</li></ul>'
-  -
-    text: 'While the contextual links button for the area of interest is visible, click the button to display the list of links for that area. Click a link in the list to perform the task.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-body_format: help
diff --git a/help_topics/ui_shortcuts.help_topic.yml b/help_topics/ui_shortcuts.help_topic.yml
deleted file mode 100644
index eac86fd..0000000
--- a/help_topics/ui_shortcuts.help_topic.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-id: ui_shortcuts
-label: Shortcuts
-top_level: false
-related:
-  - ui_components
-list_on:
-  - ui_components
-body:
-  -
-    text: 'What are shortcuts?'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: '<em>Shortcuts</em> are quick links to administrative pages; they are managed by the core Shortcut module. A site can have one or more <em>shortcut sets</em>, which can be shared by one or more users; each set contains one or more shortcuts. Users need <em>Use shortcuts</em> permission to view shortcuts; <em>Edit current shortcut set</em> permission to add, delete, or edit the shortcuts in the set assigned to them; and <em>Select any shortcut set</em> permission to select a different shortcut set when editing their user profile. There is also an <em>Administer shortcuts</em> permission, which allows an administrator to do any of these actions, and also permits assigning shortcut sets to other users.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Creating and deleting shortcuts'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: 'When viewing certain administrative pages, you will see a link that allows you to add the page to your current shortcut set. In the core Seven administrative theme, the link looks like a star, and is displayed next to the page title. If the page is already in your shortcut set, you will instead see a link that allows you to remove it.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Viewing and using shortcuts'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: 'If you have the core Toolbar module installed, click <em>Shortcuts</em> in the toolbar to display your shortcuts. Once they are displayed, click any link in the shortcut bar to go directly to the administrative page. If you are not using the Toolbar module, you can display shortcuts by placing the <em>Shortcuts</em> block in a region of your theme.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-body_format: help
diff --git a/help_topics/ui_tours.help_topic.yml b/help_topics/ui_tours.help_topic.yml
deleted file mode 100644
index 2bb4cf3..0000000
--- a/help_topics/ui_tours.help_topic.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-id: ui_tours
-label: Tours
-top_level: false
-related:
-  - ui_components
-list_on:
-  - ui_components
-body:
-  -
-    text: 'What are tours?'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: 'The core Tour module provides users with <em>tours</em>, which are guided tours of the administrative interface. Each tour starts on a particular administrative page, and consists of one or more <em>tips</em> that highlight elements of the page, guide you through a workflow, or explain key concepts. Users need <em>Access tour</em> permission to view tours, and JavaScript must be enabled in their browsers.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-  -
-    text: 'Viewing tours'
-    prefix_tags: '<h2>'
-    suffix_tags: '</h2>'
-  -
-    text: 'If a tour is available on a page, and you have the core Toolbar module installed, a <em>Tour</em> button will appear on the right end of the toolbar (left end for right-to-left languages). Click this button to view the first tip of the tour; click the <em>Next</em> button to advance to the next tip, and <em>End tour</em> at the end to close the tour.'
-    prefix_tags: '<p>'
-    suffix_tags: '</p>'
-body_format: help
diff --git a/src/Controller/AutocompleteController.php b/src/Controller/AutocompleteController.php
index 2ffcf2a..6b7871b 100644
--- a/src/Controller/AutocompleteController.php
+++ b/src/Controller/AutocompleteController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\help_topics\Controller;
+namespace Drupal\config_help\Controller;
 
 use Drupal\Component\Render\HtmlEscapedText;
 use Drupal\Component\Utility\Tags;
@@ -8,7 +8,7 @@ use Drupal\Core\Controller\ControllerBase;
 use Drupal\Core\Extension\ModuleExtensionList;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Extension\ThemeHandlerInterface;
-use Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface;
+use Drupal\help_topics\HelpTopicPluginManagerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\JsonResponse;
 use Symfony\Component\HttpFoundation\Request;
@@ -21,7 +21,7 @@ class AutocompleteController extends ControllerBase {
   /**
    * The help topic plugin manager.
    *
-   * @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface;
+   * @var \Drupal\help_topics\HelpTopicPluginManagerInterface;
    */
   protected $pluginManager;
 
@@ -42,7 +42,7 @@ class AutocompleteController extends ControllerBase {
   /**
    * Constructs a new AutocompleteController.
    *
-   * @param \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface $plugin_manager
+   * @param \Drupal\help_topics\HelpTopicPluginManagerInterface $plugin_manager
    *   The plugin manager.
    * @param \Drupal\Core\Extension\ModuleExtensionList $modules
    *   List of available modules.
diff --git a/src/Controller/HelpTopicPluginController.php b/src/Controller/HelpTopicPluginController.php
deleted file mode 100644
index 39eae8f..0000000
--- a/src/Controller/HelpTopicPluginController.php
+++ /dev/null
@@ -1,163 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Controller;
-
-use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\Url;
-use Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface;
-use Drupal\Core\Render\BubbleableMetadata;
-use Drupal\Core\Render\RendererInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Drupal\Core\Utility\Token;
-
-/**
- * Controller for help topic plugins.
- */
-class HelpTopicPluginController extends ControllerBase {
-
-  /**
-   * The token replacement service class.
-   *
-   * @var \Drupal\Core\Utility\Token
-   */
-  protected $token;
-
-  /**
-   * The renderer service.
-   *
-   * @var \Drupal\Core\Render\RendererInterface
-   */
-  protected $renderer;
-
-  /**
-   * The Help Topic plugin manager.
-   *
-   * @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface
-   */
-  protected $helpTopicPluginManager;
-
-  /**
-   * Constructs a HelpTopicPluginController object.
-   *
-   * @param \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface $help_topic_plugin_manager
-   *   The help topic plugin manager service.
-   * @param \Drupal\Core\Utility\Token $token
-   *   The token service.
-   * @param \Drupal\Core\Render\RendererInterface $renderer
-   *   The renderer service.
-   */
-  public function __construct(HelpTopicPluginManagerInterface $help_topic_plugin_manager, Token $token, RendererInterface $renderer) {
-    $this->helpTopicPluginManager = $help_topic_plugin_manager;
-    $this->token = $token;
-    $this->renderer = $renderer;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('plugin.manager.help_topic'),
-      $container->get('token'),
-      $container->get('renderer')
-    );
-  }
-
-  /**
-   * Displays a help topic page.
-   *
-   * @param $id
-   *   The plugin id. Maps to the {id} placeholder in the help_topics.help_topic route.
-   *
-   * @return array
-   *   A render array with the contents of a help topic page.
-   */
-  public function viewHelpTopic($id) {
-    $build = [];
-
-    /** @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginInterface $help_topic */
-    $help_topic = $this->helpTopicPluginManager->createInstance($id);
-
-    $body = $help_topic->getBody();
-
-    $matches = [];
-    // Find things that look like tokens, but using | instead of :, for
-    // example [foo|bar_baz|bang]. Allowable characters for the token pieces
-    // are letters, numbers, underscores, plus . and - characters.
-    if (preg_match_all('/\[([\w.\-]+\|)+[\w.\-]+\]/', $body, $matches)) {
-      // Replace the | with : in each token that was found.
-      $tokens = array_unique($matches[0]);
-      $replacements = [];
-      foreach ($tokens as $token) {
-        $replacements[] = str_replace('|', ':', $token);
-      }
-      // Replace all the tokens in the string. This could have all been done
-      // with one preg_replace instead of this whole if() statement, but the
-      // code would have been very difficult to read.
-      $body = str_replace($tokens, $replacements, $body);
-    }
-
-    // Add in the body, with token replacement.
-    $bubbleable_metadata = new BubbleableMetadata();
-    $build['#body'] = [
-      '#type' => 'processed_text',
-      '#text' => $this->token->replace($body, [], [], $bubbleable_metadata),
-      '#format' => $help_topic->getBodyFormat(),
-    ];
-    $bubbleable_metadata->applyTo($build['#body']);
-
-    $this->renderer->addCacheableDependency($build, $help_topic);
-
-    // Build the related topics section, starting with the list this topic
-    // says are related.
-    $links = [];
-
-    $related = $help_topic->getRelated();
-    foreach ($related as $other_id) {
-      if ($other_id !== $help_topic->getPluginId()) {
-        /** @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginInterface $topic */
-        $topic = $this->helpTopicPluginManager->createInstance($other_id);
-        if ($topic) {
-          $links[$other_id] = [
-            'title' => $topic->getLabel(),
-            'url' => Url::fromRoute('help_topics.help_topic', ['id' => $other_id]),
-          ];
-          $this->renderer->addCacheableDependency($build, $topic);
-        }
-      }
-    }
-
-    // Add in any plugins that have said "List me on this topic".
-    $liston = $this->helpTopicPluginManager->getAllListOn($id);
-    foreach ($liston as $topic) {
-      $other_id = $topic->getPluginId();
-      $links[$other_id] = [
-        'title' => $topic->getLabel(),
-        'url' => Url::fromRoute('help_topics.help_topic', ['id' => $other_id]),
-      ];
-      $this->renderer->addCacheableDependency($build, $topic);
-    }
-
-    if (count($links)) {
-      uasort($links, function ($a, $b) {
-        if ($a['title'] == $b['title']) {
-          return 0;
-        }
-        return ($a['title'] < $b['title']) ? -1 : 1;
-      });
-      $build['#related'] = [
-        '#theme' => 'links',
-        '#heading' => [
-          'text' => $this->t('Related topics'),
-          'level' => 'h2',
-        ],
-        '#links' => $links,
-      ];
-    }
-
-    $build['#theme'] = 'help_topic';
-    $build['#title'] = $help_topic->getLabel();
-    return $build;
-  }
-
-}
diff --git a/src/Entity/HelpAccessControlHandler.php b/src/Entity/HelpAccessControlHandler.php
index 622b7de..83706af 100644
--- a/src/Entity/HelpAccessControlHandler.php
+++ b/src/Entity/HelpAccessControlHandler.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\help_topics\Entity;
+namespace Drupal\config_help\Entity;
 
 use Drupal\Core\Entity\EntityAccessControlHandler;
 use Drupal\Core\Entity\EntityInterface;
@@ -16,38 +16,16 @@ class HelpAccessControlHandler extends EntityAccessControlHandler {
    * {@inheritdoc}
    */
   protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
-    /** @var \Drupal\help_topics\Entity\HelpTopicInterface $entity */
+    /** @var \Drupal\config_help\Entity\HelpTopicInterface $entity */
     // For view, check the view permission.
     if ($operation == 'view') {
-      return AccessResult::allowedIfHasPermission($account, 'view help topics');
-    }
-
-    // Cannot unlock if it is already unlocked.
-    if (!$entity->isLocked() && $operation == 'unlock') {
-      return AccessResult::forbidden()->addCacheableDependency($entity);
-    }
-
-    // Cannot lock if it is already locked.
-    if ($entity->isLocked() && $operation == 'lock') {
-      return AccessResult::forbidden()->addCacheableDependency($entity);
-    }
-
-    // Deny all operations except unlock if it is currently locked. They need
-    // to unlock first.
-    if ($entity->isLocked() && $operation != 'unlock') {
-      return AccessResult::forbidden()->addCacheableDependency($entity);
-    }
-
-    // For lock/unlock, use the locking permission. Note that we've already
-    // checked something on the entity, so make sure to add cache dependency.
-    if ($operation == 'unlock' || $operation == 'lock') {
-      return AccessResult::allowedIfHasPermission($account, 'administer help topic locking')->addCacheableDependency($entity);
+      return AccessResult::allowedIfHasPermission($account, 'access administration pages');
     }
 
     // For all remaining operations, use the generic administer permission.
     // Note that we've already checked something on the entity, so make sure to
     // add cache dependency.
-    return AccessResult::allowedIfHasPermission($account, 'administer help topics')->addCacheableDependency($entity);
+    return AccessResult::allowedIfHasPermission($account, 'administer config help')->addCacheableDependency($entity);
   }
 
 }
diff --git a/src/Entity/HelpListBuilder.php b/src/Entity/HelpListBuilder.php
index b486dab..737ea40 100644
--- a/src/Entity/HelpListBuilder.php
+++ b/src/Entity/HelpListBuilder.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\help_topics\Entity;
+namespace Drupal\config_help\Entity;
 
 use Drupal\Core\Config\Entity\ConfigEntityListBuilder;
 use Drupal\Core\Entity\EntityInterface;
@@ -21,10 +21,6 @@ class HelpListBuilder extends ConfigEntityListBuilder {
         'data' => $this->t('Top level'),
         'class' => [RESPONSIVE_PRIORITY_MEDIUM],
       ],
-      'locked' => [
-        'data' => $this->t('Locked'),
-        'class' => [RESPONSIVE_PRIORITY_MEDIUM],
-      ],
     ];
     return $header + parent::buildHeader();
   }
@@ -33,7 +29,7 @@ class HelpListBuilder extends ConfigEntityListBuilder {
    * {@inheritdoc}
    */
   public function buildRow(EntityInterface $entity) {
-    /** @var \Drupal\help_topics\Entity\HelpTopicInterface $entity */
+    /** @var \Drupal\config_help\Entity\HelpTopicInterface $entity */
     $row = [];
 
     $row['label']['data'] = [
@@ -45,7 +41,6 @@ class HelpListBuilder extends ConfigEntityListBuilder {
     $row['id'] = $entity->id();
 
     $row['top_level'] = ($entity->isTopLevel()) ? $this->t('Yes') : $this->t('No');
-    $row['locked'] = ($entity->isLocked()) ? $this->t('Yes') : $this->t('No');
 
     return $row + parent::buildRow($entity);
   }
@@ -72,7 +67,7 @@ class HelpListBuilder extends ConfigEntityListBuilder {
     $operations = parent::getDefaultOperations($entity);
 
     // The default operations from the parent are edit and delete. Add
-    // view, lock, and unlock (if allowed).
+    // view.
     if ($entity->access('view')) {
       $operations['view'] = [
         'title' => $this->t('View'),
@@ -80,20 +75,6 @@ class HelpListBuilder extends ConfigEntityListBuilder {
         'url' => $entity->getViewUrl(),
       ];
     }
-    if ($entity->access('lock')) {
-      $operations['lock'] = [
-        'title' => $this->t('Lock'),
-        'weight' => 30,
-        'url' => $entity->urlInfo('lock-form'),
-      ];
-    }
-    if ($entity->access('unlock')) {
-      $operations['unlock'] = [
-        'title' => $this->t('Unlock'),
-        'weight' => 30,
-        'url' => $entity->urlInfo('unlock-form'),
-      ];
-    }
     return $operations;
   }
 
diff --git a/src/Entity/HelpTopic.php b/src/Entity/HelpTopic.php
index 3ce2b05..8874cc8 100644
--- a/src/Entity/HelpTopic.php
+++ b/src/Entity/HelpTopic.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\help_topics\Entity;
+namespace Drupal\config_help\Entity;
 
 use Drupal\Core\Config\Entity\ConfigEntityBase;
 use Drupal\Core\Config\ConfigValueException;
@@ -8,53 +8,27 @@ use Drupal\Core\Cache\Cache;
 use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\Core\Link;
 use Drupal\Core\Url;
-use Drupal\help_topics\HtmlChunker;
+use Drupal\config_help\HtmlChunker;
 
 /**
  * Defines a configuration entity for help topics.
  *
- * Developers can provide configurable help topics for their modules, themes,
- * etc. by creating help topics from admin/config/development/help (with the
- * Help Topics module installed), and then exporting them into their
- * config/optional directories. Alternatively, after exporting the
- * configuration, you can make it into a plugin instead of a configurable
- * entity by putting it into the help_topics directory; you'll also need to
- * remove the dependencies and locked properties from the file.
- *
- * Topics marked as "top_level" will be listed on admin/help, and when viewing
- * a help topic, "related" topics will be listed. Conventions:
- * - You should still use the core hook_help() to provide a module overview
- *   topic for your module.
- * - Each topic marked as "top level" will be listed on the admin/help page, so
- *   avoid making too many top-level topics. Instead, make one top-level topic
- *   and link your topics together using the "related" and "list on" fields.
- * - All topic machine names should be prefixed by the extension machine name.
- * - Lock the topic, so that administrators will need to unlock it to edit or
- *   delete it. By convention, topics provided as entities by modules and
- *   themes should be locked. Topics provided as plugins cannot be edited.
- * - Set module and theme dependencies appropriately, if providing as an
- *   entity.
- * - Keep in mind that help topics are usually meant for administrative Drupal
- *   users, such as site builders and content editors, rather than programmers.
- *
  * @ConfigEntityType(
- *   id = "help_topic",
+ *   id = "config_help",
  *   label = @Translation("Help topic"),
  *   label_collection = @Translation("Help topics"),
  *   config_prefix = "topic",
  *   handlers = {
  *     "form" = {
- *       "add" = "Drupal\help_topics\Form\HelpTopicForm",
- *       "edit" = "Drupal\help_topics\Form\HelpTopicForm",
+ *       "add" = "Drupal\config_help\Form\HelpTopicForm",
+ *       "edit" = "Drupal\config_help\Form\HelpTopicForm",
  *       "delete" = "Drupal\Core\Entity\EntityDeleteForm",
- *       "lock" = "Drupal\help_topics\Form\HelpLockForm",
- *       "unlock" = "Drupal\help_topics\Form\HelpUnlockForm",
  *     },
- *     "list_builder" = "Drupal\help_topics\Entity\HelpListBuilder",
- *     "view_builder" = "Drupal\help_topics\Entity\HelpViewBuilder",
- *     "access" = "Drupal\help_topics\Entity\HelpAccessControlHandler",
+ *     "list_builder" = "Drupal\config_help\Entity\HelpListBuilder",
+ *     "view_builder" = "Drupal\config_help\Entity\HelpViewBuilder",
+ *     "access" = "Drupal\config_help\Entity\HelpAccessControlHandler",
  *     "route_provider" = {
- *       "html" = "Drupal\help_topics\Entity\HelpTopicRouteProvider",
+ *       "html" = "Drupal\Core\Entity\Routing\DefaultHtmlRouteProvider",
  *     },
  *   },
  *   entity_keys = {
@@ -65,7 +39,6 @@ use Drupal\help_topics\HtmlChunker;
  *     "id",
  *     "label",
  *     "top_level",
- *     "locked",
  *     "related",
  *     "list_on",
  *     "body",
@@ -77,8 +50,6 @@ use Drupal\help_topics\HtmlChunker;
  *     "add-form" = "/admin/config/development/help/add",
  *     "edit-form" = "/admin/config/development/help/manage/{help_topic}",
  *     "delete-form" = "/admin/config/development/help/manage/{help_topic}/delete",
- *     "lock-form" = "/admin/config/development/help/manage/{help_topic}/lock",
- *     "unlock-form" = "/admin/config/development/help/manage/{help_topic}/unlock",
  *   }
  * )
  */
@@ -119,13 +90,6 @@ class HelpTopic extends ConfigEntityBase implements HelpTopicInterface {
    */
   protected $top_level = FALSE;
 
-  /**
-   * Whether the topic is locked or not.
-   *
-   * @var bool
-   */
-  protected $locked = FALSE;
-
   /**
    * List of related topic machine names.
    *
@@ -143,7 +107,7 @@ class HelpTopic extends ConfigEntityBase implements HelpTopicInterface {
   /**
    * The help topic plugin manager.
    *
-   * @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface
+   * @var \Drupal\help_topics\HelpTopicPluginManagerInterface
    */
   protected $pluginManager;
 
@@ -193,20 +157,6 @@ class HelpTopic extends ConfigEntityBase implements HelpTopicInterface {
     return $this->set('top_level', $top_level);
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public function isLocked() {
-    return $this->get('locked');
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function setLocked($locked = TRUE) {
-    return $this->set('locked', $locked);
-  }
-
   /**
    * {@inheritdoc}
    */
@@ -278,7 +228,7 @@ class HelpTopic extends ConfigEntityBase implements HelpTopicInterface {
   /**
    * Gets the help topic plugin manager.
    *
-   * @return \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface
+   * @return \Drupal\help_topics\HelpTopicPluginManagerInterface
    *   The help topic plugin manager.
    */
   protected function getPluginManager() {
@@ -377,7 +327,7 @@ class HelpTopic extends ConfigEntityBase implements HelpTopicInterface {
    */
   public function getPluginDefinition() {
     $definition = [
-      'class' => 'Drupal\\help_topics\\Plugin\\HelpTopic\\DerivedHelpTopicPlugin',
+      'class' => 'Drupal\\config_help\\Plugin\\HelpTopic\\DerivedHelpTopicPlugin',
       'metadata' => ['entity_id' => $this->id],
       'id' => $this->getPluginId(),
       'label' => $this->label,
diff --git a/src/Entity/HelpTopicInterface.php b/src/Entity/HelpTopicInterface.php
index 1e29883..fdf96e2 100644
--- a/src/Entity/HelpTopicInterface.php
+++ b/src/Entity/HelpTopicInterface.php
@@ -1,13 +1,13 @@
 <?php
 
-namespace Drupal\help_topics\Entity;
+namespace Drupal\config_help\Entity;
 
 use Drupal\Core\Config\Entity\ConfigEntityInterface;
 
 /**
  * Defines an interface for a help topic entity.
  *
- * @see \Drupal\help_topics\Entity\HelpTopic
+ * @see \Drupal\config_help\Entity\HelpTopic
  */
 interface HelpTopicInterface extends ConfigEntityInterface {
 
@@ -70,25 +70,6 @@ interface HelpTopicInterface extends ConfigEntityInterface {
    */
   public function setTopLevel($top_level);
 
-  /**
-   * Returns whether the topic is locked or not.
-   *
-   * @return bool
-   *   TRUE if the topic is locked; FALSE if it is not locked. Locked topics
-   *   cannot be edited or deleted.
-   */
-  public function isLocked();
-
-  /**
-   * Sets the topic to be locked or unlocked.
-   *
-   * @param bool $locked
-   *   (optional) TRUE (default) to lock the topic; FALSE to unlock it.
-   *
-   * @return $this
-   */
-  public function setLocked($locked = TRUE);
-
   /**
    * Returns the IDs of related topics.
    *
diff --git a/src/Entity/HelpTopicRouteProvider.php b/src/Entity/HelpTopicRouteProvider.php
deleted file mode 100644
index 447fd5c..0000000
--- a/src/Entity/HelpTopicRouteProvider.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Entity;
-
-use Drupal\Core\Entity\Routing\DefaultHtmlRouteProvider;
-use Drupal\Core\Entity\EntityTypeInterface;
-use Symfony\Component\Routing\Route;
-
-/**
- * Defines the route provider for the help topic entity.
- */
-class HelpTopicRouteProvider extends DefaultHtmlRouteProvider {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getRoutes(EntityTypeInterface $entity_type) {
-    $collection = parent::getRoutes($entity_type);
-
-    $route = (new Route('/admin/config/development/help/manage/{help_topic}/unlock'))
-      ->setDefaults([
-        '_entity_form' => 'help_topic.unlock',
-        '_title' => 'Unlock help topic',
-      ])
-      ->setRequirement('_entity_access', 'help_topic.unlock');
-    $collection->add('entity.help_topic.unlock_form', $route);
-
-    $route = (new Route('/admin/config/development/help/manage/{help_topic}/lock'))
-      ->setDefaults([
-        '_entity_form' => 'help_topic.lock',
-        '_title' => 'Lock help topic',
-      ])
-      ->setRequirement('_entity_access', 'help_topic.lock');
-    $collection->add('entity.help_topic.lock_form', $route);
-
-    return $collection;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function getCanonicalRoute(EntityTypeInterface $entity_type) {
-    $route = (new Route('/admin/help-topic/{help_topic}'))
-      ->setDefaults([
-        '_entity_view' => 'help_topic.full',
-        '_title' => 'Help',
-      ])
-      ->setRequirement('_entity_access', 'help_topic.view')
-      ->setOption('parameters', [
-        'help_topic' => [
-          'type' => 'entity:help_topic',
-          // Force load in current interface language.
-          'with_config_overrides' => TRUE,
-        ],
-      ]);
-
-    return $route;
-  }
-
-}
diff --git a/src/Entity/HelpViewBuilder.php b/src/Entity/HelpViewBuilder.php
index 9c77ed0..a0d6fc1 100644
--- a/src/Entity/HelpViewBuilder.php
+++ b/src/Entity/HelpViewBuilder.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\help_topics\Entity;
+namespace Drupal\config_help\Entity;
 
 use Drupal\Core\Entity\EntityViewBuilder;
 use Drupal\Core\Entity\EntityTypeInterface;
diff --git a/src/Form/HelpLockForm.php b/src/Form/HelpLockForm.php
deleted file mode 100644
index 1692ae0..0000000
--- a/src/Form/HelpLockForm.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Form;
-
-use Drupal\Core\Entity\EntityConfirmFormBase;
-use Drupal\Core\Form\FormStateInterface;
-use Drupal\Core\Messenger\MessengerInterface;
-use Drupal\Core\StringTranslation\TranslationInterface;
-use Drupal\Core\Url;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-
-/**
- * Provides a form for confirming locking of a help topic.
- */
-class HelpLockForm extends EntityConfirmFormBase {
-
-  /**
-   * The Messenger service.
-   *
-   * @var \Drupal\Core\Messenger\MessengerInterface
-   */
-  protected $messenger;
-
-  /**
-   * Constructs the help topic lock form.
-   *
-   * @param \Drupal\Core\Messenger\MessengerInterface $messenger
-   *   The messenger service.
-   * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
-   *   The translation manager.
-   */
-  public function __construct(MessengerInterface $messenger, TranslationInterface $string_translation) {
-    $this->messenger = $messenger;
-    $this->stringTranslation = $string_translation;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('messenger'),
-      $container->get('string_translation')
-    );
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getQuestion() {
-    return $this->t('Are you sure you want to lock the topic %name?', ['%name' => $this->entity->label()]);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getConfirmText() {
-    return t('Lock');
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getCancelUrl() {
-    return new Url('entity.help_topic.collection');
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function submitForm(array &$form, FormStateInterface $form_state) {
-    /** @var \Drupal\help_topics\Entity\HelpTopicInterface $entity */
-    $entity = $this->entity;
-    $entity->setLocked();
-    $entity->save();
-
-    $link = $entity->getViewLink()->toString();
-    $ops_link = $entity->getViewLink($this->t('View'))->toString();
-    $args = ['@link' => $link];
-    $message = $this->t('The help topic @link has been locked.', $args);
-    $this->messenger->addMessage($message);
-    $this->getLogger('help_topics')->notice('The help topic @link has been locked.', $args + [
-      'link' => $ops_link,
-    ]);
-
-    $form_state->setRedirectUrl($this->getCancelUrl());
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getDescription() {
-    return '<strong>' . $this->t('Locked topics cannot be edited or deleted until they are unlocked.') . '</strong>';
-  }
-
-}
diff --git a/src/Form/HelpUnlockForm.php b/src/Form/HelpUnlockForm.php
deleted file mode 100644
index a229e16..0000000
--- a/src/Form/HelpUnlockForm.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Form;
-
-use Drupal\Core\Entity\EntityConfirmFormBase;
-use Drupal\Core\Form\FormStateInterface;
-use Drupal\Core\Messenger\MessengerInterface;
-use Drupal\Core\StringTranslation\TranslationInterface;
-use Drupal\Core\Url;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-
-/**
- * Provides a form for confirming unlocking of a help topic.
- */
-class HelpUnlockForm extends EntityConfirmFormBase {
-
-  /**
-   * The Messenger service.
-   *
-   * @var \Drupal\Core\Messenger\MessengerInterface
-   */
-  protected $messenger;
-
-  /**
-   * Constructs the help topic unlock form.
-   *
-   * @param \Drupal\Core\Messenger\MessengerInterface $messenger
-   *   The messenger service.
-   * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
-   *   The translation manager.
-   */
-  public function __construct(MessengerInterface $messenger, TranslationInterface $string_translation) {
-    $this->messenger = $messenger;
-    $this->stringTranslation = $string_translation;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('messenger'),
-      $container->get('string_translation')
-    );
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getQuestion() {
-    return $this->t('Are you sure you want to unlock the topic %name?', ['%name' => $this->entity->label()]);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getConfirmText() {
-    return t('Unlock');
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getCancelUrl() {
-    return new Url('entity.help_topic.collection');
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function submitForm(array &$form, FormStateInterface $form_state) {
-    /** @var \Drupal\help_topics\Entity\HelpTopicInterface $entity */
-    $entity = $this->entity;
-    $entity->setLocked(FALSE);
-    $entity->save();
-
-    $link = $entity->getViewLink()->toString();
-    $ops_link = $entity->getViewLink($this->t('View'))->toString();
-    $args = ['@link' => $link];
-    $message = $this->t('The help topic @link has been unlocked.', $args);
-    $this->messenger->addMessage($message);
-    $this->getLogger('help_topics')->notice('The help topic @link has been unlocked.', $args + [
-      'link' => $ops_link,
-    ]);
-
-    $form_state->setRedirectUrl($this->getCancelUrl());
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getDescription() {
-    return '<strong>' . $this->t('Locked topics are typically provided by modules, themes, or installation profiles. They cannot be edited or deleted until they are unlocked. Unlocking and editing or deleting topics provided by a module, theme, or installation profile is not recommended.') . '</strong>';
-  }
-
-}
diff --git a/src/FormElement/HelpTopicBody.php b/src/FormElement/HelpTopicBody.php
index 6a3cc08..6d38f71 100644
--- a/src/FormElement/HelpTopicBody.php
+++ b/src/FormElement/HelpTopicBody.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\help_topics\FormElement;
+namespace Drupal\config_help\FormElement;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\Core\TypedData\DataDefinitionInterface;
diff --git a/src/FormElement/HelpTopicBodyChunk.php b/src/FormElement/HelpTopicBodyChunk.php
index d776b8d..d2c3f38 100644
--- a/src/FormElement/HelpTopicBodyChunk.php
+++ b/src/FormElement/HelpTopicBodyChunk.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\help_topics\FormElement;
+namespace Drupal\config_help\FormElement;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\Component\Utility\Html;
diff --git a/src/HelpBreadcrumbBuilder.php b/src/HelpBreadcrumbBuilder.php
deleted file mode 100644
index 586be53..0000000
--- a/src/HelpBreadcrumbBuilder.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-namespace Drupal\help_topics;
-
-use Drupal\Core\Breadcrumb\Breadcrumb;
-use Drupal\Core\Breadcrumb\BreadcrumbBuilderInterface;
-use Drupal\Core\Link;
-use Drupal\Core\Routing\RouteMatchInterface;
-use Drupal\Core\StringTranslation\StringTranslationTrait;
-use Drupal\Core\StringTranslation\TranslationInterface;
-
-/**
- * Provides a breadcrumb builder for help topic pages.
- */
-class HelpBreadcrumbBuilder implements BreadcrumbBuilderInterface {
-
-  use StringTranslationTrait;
-
-  /**
-   * Constructs the HelpBreadcrumbBuilder.
-   *
-   * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
-   *   The translation service.
-   */
-  public function __construct(TranslationInterface $string_translation) {
-    $this->stringTranslation = $string_translation;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function applies(RouteMatchInterface $route_match) {
-    return $route_match->getRouteName() == 'help_topics.help_topic';
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function build(RouteMatchInterface $route_match) {
-    $breadcrumb = new Breadcrumb();
-    $breadcrumb->addLink(Link::createFromRoute($this->t('Home'), '<front>'));
-    $breadcrumb->addLink(Link::createFromRoute($this->t('Administration'), 'system.admin'));
-    $breadcrumb->addLink(Link::createFromRoute($this->t('Help'), 'help.main'));
-    $breadcrumb->addCacheContexts(['route.name']);
-
-    return $breadcrumb;
-  }
-
-}
diff --git a/src/HtmlChunker.php b/src/HtmlChunker.php
index e62419a..38897a3 100644
--- a/src/HtmlChunker.php
+++ b/src/HtmlChunker.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\help_topics;
+namespace Drupal\config_help;
 
 use Drupal\Component\Utility\Html;
 
diff --git a/src/Plugin/Deriver/HelpTopicDeriver.php b/src/Plugin/Deriver/HelpTopicDeriver.php
index 40c47ce..419509f 100644
--- a/src/Plugin/Deriver/HelpTopicDeriver.php
+++ b/src/Plugin/Deriver/HelpTopicDeriver.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\help_topics\Plugin\Deriver;
+namespace Drupal\config_help\Plugin\Deriver;
 
 use Drupal\Component\Plugin\Derivative\DeriverBase;
 use Drupal\Core\Entity\EntityStorageInterface;
@@ -13,7 +13,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
 class HelpTopicDeriver extends DeriverBase implements ContainerDeriverInterface {
 
   /**
-   * The help topic storage.
+   * The help topic entity storage.
    *
    * @var \Drupal\Core\Entity\EntityStorageInterface
    */
@@ -34,7 +34,7 @@ class HelpTopicDeriver extends DeriverBase implements ContainerDeriverInterface
    */
   public static function create(ContainerInterface $container, $base_plugin_id) {
     return new static(
-      $container->get('entity.manager')->getStorage('help_topic')
+      $container->get('entity.manager')->getStorage('config_help')
     );
   }
 
@@ -44,7 +44,7 @@ class HelpTopicDeriver extends DeriverBase implements ContainerDeriverInterface
   public function getDerivativeDefinitions($base_plugin_definition) {
     $this->derivatives = [];
     foreach ($this->helpTopicStorage->loadMultiple() as $id => $entity) {
-      /** @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginInterface $entity */
+      /** @var \Drupal\help_topics\HelpTopicPluginInterface $entity */
       $this->derivatives[$entity->getPluginId()] = $entity->getPluginDefinition();
     }
     return $this->derivatives;
diff --git a/src/Plugin/HelpSection/HelpTopicSection.php b/src/Plugin/HelpSection/HelpTopicSection.php
deleted file mode 100644
index f4dab75..0000000
--- a/src/Plugin/HelpSection/HelpTopicSection.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Plugin\HelpSection;
-
-use Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface;
-use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
-use Drupal\help\Plugin\HelpSection\HelpSectionPluginBase;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-
-/**
- * Provides the help topics list section for the help page.
- *
- * @HelpSection(
- *   id = "help_topics",
- *   title = @Translation("Topics"),
- *   description = @Translation("Topics can be provided by modules, themes, installation profiles, or site administrators, and they may be organized hierarchically. Top-level help topics configured on your site:"),
- *   permission = "view help topics"
- * )
- */
-class HelpTopicSection extends HelpSectionPluginBase implements ContainerFactoryPluginInterface {
-
-  /**
-   * The plugin manager.
-   *
-   * @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface
-   */
-  protected $pluginManager;
-
-  /**
-   * The render array for the list of topics.
-   *
-   * @var array
-   */
-  protected $topicList;
-
-  /**
-   * The cache tags for the list of topics.
-   *
-   * @var string[]
-   */
-  protected $cacheTagList;
-
-  /**
-   * Constructs a HelpTopicSection object.
-   *
-   * @param array $configuration
-   *   A configuration array containing information about the plugin instance.
-   * @param string $plugin_id
-   *   The plugin_id for the plugin instance.
-   * @param mixed $plugin_definition
-   *   The plugin implementation definition.
-   * @param \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface $plugin_manager
-   *   The help topic plugin manager service.
-   */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition, HelpTopicPluginManagerInterface $plugin_manager) {
-    parent::__construct($configuration, $plugin_id, $plugin_definition);
-    $this->pluginManager = $plugin_manager;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
-    return new static(
-      $configuration,
-      $plugin_id,
-      $plugin_definition,
-      $container->get('plugin.manager.help_topic')
-    );
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getCacheTags() {
-    if (!isset($this->topicList)) {
-      $this->calculateTopics();
-    }
-
-    return $this->cacheTagList;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getCacheContexts() {
-    // The links are checked for user access, so we need the user permissions
-    // context.
-    return ['user.permissions'];
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function listTopics() {
-    if (!isset($this->topicList)) {
-      $this->calculateTopics();
-    }
-
-    return $this->topicList;
-  }
-
-  /**
-   * Calculates the topic list and cache tags.
-   */
-  protected function calculateTopics() {
-    /** @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginInterface[] $plugins */
-    $plugins = $this->pluginManager->getTopLevelTopics();
-
-    $this->topicList = [];
-    $cache_tags = [];
-    foreach ($plugins as $plugin) {
-      $this->topicList[$plugin->getPluginId()] = $plugin->toLink();
-      foreach ($plugin->getCacheTagsForList() as $tag) {
-        $cache_tags[] = $tag;
-      }
-    }
-
-    $this->cacheTagList = array_unique($cache_tags);
-  }
-
-}
diff --git a/src/Plugin/HelpTopic/DerivedHelpTopicPlugin.php b/src/Plugin/HelpTopic/DerivedHelpTopicPlugin.php
index f4fb205..1bb616b 100644
--- a/src/Plugin/HelpTopic/DerivedHelpTopicPlugin.php
+++ b/src/Plugin/HelpTopic/DerivedHelpTopicPlugin.php
@@ -1,11 +1,12 @@
 <?php
 
-namespace Drupal\help_topics\Plugin\HelpTopic;
+namespace Drupal\config_help\Plugin\HelpTopic;
 
 use Drupal\Component\Plugin\Exception\PluginException;
 use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
+use Drupal\help_topics\HelpTopicPluginBase;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -16,12 +17,12 @@ class DerivedHelpTopicPlugin extends HelpTopicPluginBase implements ContainerFac
   /**
    * The entity this plugin is wrapping.
    *
-   * @var \Drupal\help_topics\Entity\HelpTopicInterface
+   * @var \Drupal\config_help\Entity\HelpTopicInterface
    */
   protected $entity;
 
   /**
-   * The help topic storage.
+   * The help topic entity storage.
    *
    * @var \Drupal\Core\Entity\EntityStorageInterface
    */
@@ -125,21 +126,6 @@ class DerivedHelpTopicPlugin extends HelpTopicPluginBase implements ContainerFac
     return $this;
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public function isLocked() {
-    return $this->entity->isLocked();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function setLocked($locked = TRUE) {
-    $this->entity->setLocked($locked);
-    return $this;
-  }
-
   /**
    * {@inheritdoc}
    */
@@ -196,7 +182,7 @@ class DerivedHelpTopicPlugin extends HelpTopicPluginBase implements ContainerFac
    */
   public function getCacheTagsForList() {
     $tags = parent::getCacheTagsForList();
-    foreach ($this->entityTypeManager->getDefinition('help_topic')->getListCacheTags() as $tag) {
+    foreach ($this->entityTypeManager->getDefinition('config_help')->getListCacheTags() as $tag) {
       $tags[] = $tag;
     }
 
diff --git a/src/Plugin/HelpTopic/HelpTopicDefaultPlugin.php b/src/Plugin/HelpTopic/HelpTopicDefaultPlugin.php
deleted file mode 100644
index ae99d44..0000000
--- a/src/Plugin/HelpTopic/HelpTopicDefaultPlugin.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Plugin\HelpTopic;
-
-use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Drupal\Core\StringTranslation\TranslatableMarkup;
-
-/**
- * Represents a help topic plugin whose definition comes from a YAML file.
- *
- * The YAML files are stored in subdirectory help_topics, and must be named
- * id.help_topic.yaml, where id is the plugin ID.
- */
-class HelpTopicDefaultPlugin extends HelpTopicPluginBase implements ContainerFactoryPluginInterface {
-
-  /**
-   * Constructs a HelpTopicDefaultPlugin.
-   *
-   * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
-   *   The dependency injection container.
-   * @param array $configuration
-   *   The plugin configuration (not actually used).
-   * @param string $plugin_id
-   *   The plugin ID.
-   * @param array $plugin_definition
-   *   The plugin definition.
-   */
-  public function __construct(ContainerInterface $container, array $configuration, $plugin_id, array $plugin_definition) {
-    $this->stringTranslation = $container->get('string_translation');
-    parent::__construct($configuration, $plugin_id, $plugin_definition);
-  }
-
-  /**
-   * Creates a HelpTopicDefaultPlugin.
-   *
-   * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
-   *   The dependency injection container.
-   * @param array $configuration
-   *   The plugin configuration (not actually used).
-   * @param string $plugin_id
-   *   The plugin ID.
-   * @param array $plugin_definition
-   *   The plugin definition.
-   */
-  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
-    return new static($container, $configuration, $plugin_id, $plugin_definition);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getLabel() {
-    return new TranslatableMarkup(parent::getLabel(), [], []);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getBody() {
-    return new TranslatableMarkup(parent::getBody(), [], []);
-  }
-
-}
diff --git a/src/Plugin/HelpTopic/HelpTopicPluginBase.php b/src/Plugin/HelpTopic/HelpTopicPluginBase.php
deleted file mode 100644
index 72a231f..0000000
--- a/src/Plugin/HelpTopic/HelpTopicPluginBase.php
+++ /dev/null
@@ -1,166 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Plugin\HelpTopic;
-
-use Drupal\Core\Cache\Cache;
-use Drupal\Core\Link;
-use Drupal\Core\Plugin\PluginBase;
-use Drupal\Core\Url;
-use Drupal\help_topics\HtmlChunker;
-
-/**
- * Base class for help topic plugins.
- */
-abstract class HelpTopicPluginBase extends PluginBase implements HelpTopicPluginInterface {
-
-  /**
-   * The help topic plugin manager.
-   *
-   * @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface
-   */
-  protected $pluginManager;
-
-  /**
-   * The name of the module or theme providing the help topic.
-   */
-  public function getProvider() {
-    return $this->pluginDefinition['provider'];
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getLabel() {
-    return $this->pluginDefinition['label'];
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getBody() {
-    return HtmlChunker::joinChunks($this->pluginDefinition['body']);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getBodyFormat() {
-    return $this->pluginDefinition['body_format'];
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function isTopLevel() {
-    return $this->pluginDefinition['top_level'];
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getRelated() {
-    return $this->pluginDefinition['related'];
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getListOn() {
-    return $this->pluginDefinition['list_on'];
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getCacheMaxAge() {
-    return Cache::PERMANENT;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getCacheContexts() {
-    return [];
-  }
-
-  /**
-   * Gets the help topic plugin manager.
-   *
-   * @return \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginManagerInterface
-   *   The help topic plugin manager.
-   */
-  protected function getPluginManager() {
-    if (!isset($this->pluginManager)) {
-      $this->pluginManager = \Drupal::service('plugin.manager.help_topic');
-    }
-    return $this->pluginManager;
-  }
-
-  /**
-   * Makes a cache tag from a help topic plugin ID.
-   *
-   * @param string $id
-   *   The plugin ID to make a cache tag from.
-   *
-   * @return string|null
-   *   The main cache tag for the topic, or NULL if there is not one.
-   */
-  protected function makeCacheTag($id) {
-    $definition = $this->getPluginManager()->getDefinition($id);
-    if (!$definition) {
-      return NULL;
-    }
-
-    return $definition['cache_tag'];
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getCacheTags() {
-    $tags = [];
-    if ($this->pluginDefinition['cache_tag']) {
-      $tags[] = $this->pluginDefinition['cache_tag'];
-    }
-
-    foreach ($this->pluginDefinition['related'] as $topic) {
-      $tag = $this->makeCacheTag($topic);
-      if ($tag) {
-        $tags[] = $tag;
-      }
-    }
-    return $tags;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getCacheTagsForList() {
-    $tags = [];
-    // By default, there are no list cache tags, but we do want the cache
-    // tags for this plugin.
-    if ($this->pluginDefinition['cache_tag']) {
-      $tags[] = $this->pluginDefinition['cache_tag'];
-    }
-
-    return $tags;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function toUrl(array $options = []) {
-    return Url::fromRoute('help_topics.help_topic', ['id' => $this->getPluginId()], $options);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function toLink($text = NULL, array $options = []) {
-    if (!$text) {
-      $text = $this->getLabel();
-    }
-    return Link::createFromRoute($text, 'help_topics.help_topic', ['id' => $this->getPluginId()], $options);
-  }
-
-}
diff --git a/src/Plugin/HelpTopic/HelpTopicPluginInterface.php b/src/Plugin/HelpTopic/HelpTopicPluginInterface.php
deleted file mode 100644
index 51f110b..0000000
--- a/src/Plugin/HelpTopic/HelpTopicPluginInterface.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Plugin\HelpTopic;
-
-use Drupal\Component\Plugin\PluginInspectionInterface;
-use Drupal\Component\Plugin\DerivativeInspectionInterface;
-use Drupal\Core\Cache\CacheableDependencyInterface;
-
-/**
- * Defines an interface for help topic plugin classes.
- */
-interface HelpTopicPluginInterface extends PluginInspectionInterface, DerivativeInspectionInterface, CacheableDependencyInterface {
-
-  /**
-   * Returns the translated label of the topic.
-   *
-   * @return string
-   *   The label of the topic in a TranslatableMarkup object.
-   */
-  public function getLabel();
-
-  /**
-   * Returns the translated body of the topic.
-   *
-   * @return string
-   *   The HTML-formatted body of the topic in a TranslatableMarkup object.
-   */
-  public function getBody();
-
-  /**
-   * Returns text format for the body of the topic.
-   *
-   * @return string
-   *   The machine name of the text format for the topic body.
-   */
-  public function getBodyFormat();
-
-  /**
-   * Returns whether this is a top-level topic or not.
-   *
-   * @return bool
-   *   TRUE if this is a topic that should be displayed on the Help topics
-   *   list; FALSE if not.
-   */
-  public function isTopLevel();
-
-  /**
-   * Returns the IDs of related topics.
-   *
-   * @return string[]
-   *   Array of the IDs of related topics.
-   */
-  public function getRelated();
-
-  /**
-   * Returns the IDs of topics this should be listed on.
-   *
-   * @return string[]
-   *   Array of the IDs of topics that should list this one as "related".
-   */
-  public function getListOn();
-
-  /**
-   * Returns the URL for viewing the help topic.
-   *
-   * @param array $options
-   *   (optional) See
-   *   \Drupal\Core\Routing\UrlGeneratorInterface::generateFromRoute() for the
-   *    available options.
-   *
-   * @return \Drupal\Core\Url
-   *   A URL object containing the URL for viewing the help topic.
-   */
-  public function toUrl(array $options = []);
-
-  /**
-   * Returns a link for viewing the help topic.
-   *
-   * @param string|null $text
-   *   (optional) Link text to use for the link. If NULL, defaults to the
-   *   topic title.
-   * @param array $options
-   *   (optional) See
-   *   \Drupal\Core\Routing\UrlGeneratorInterface::generateFromRoute() for the
-   *    available options.
-   *
-   * @return \Drupal\Core\Link
-   *   A link object for viewing the topic.
-   */
-  public function toLink($text = NULL, array $options = []);
-
-  /**
-   * Returns the cache tags appropriate for listings of plugins of this type.
-   *
-   * @return string[]
-   *   Array of cache tags.
-   */
-  public function getCacheTagsForList();
-
-}
diff --git a/src/Plugin/HelpTopic/HelpTopicPluginManager.php b/src/Plugin/HelpTopic/HelpTopicPluginManager.php
deleted file mode 100644
index ee30d51..0000000
--- a/src/Plugin/HelpTopic/HelpTopicPluginManager.php
+++ /dev/null
@@ -1,219 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Plugin\HelpTopic;
-
-use Drupal\Core\Plugin\Discovery\YamlDirectoryDiscovery;
-use Drupal\Core\Extension\ModuleHandlerInterface;
-use Drupal\Core\Extension\ThemeHandlerInterface;
-use Drupal\Component\Utility\NestedArray;
-use Drupal\Core\Plugin\DefaultPluginManager;
-use Drupal\Core\Plugin\Factory\ContainerFactory;
-use Drupal\Core\Plugin\Discovery\ContainerDerivativeDiscoveryDecorator;
-
-/**
- * Provides the default help_topic manager.
- *
- * Modules and themes can provide help topics in YAML files called
- * name_of_topic.help_topic.yml inside the module or theme sub-directory
- * help_topics.
- *
- * The format of this file is the same as for the help topic entity. See
- * config/schema/help_topics.schema.yml
- */
-class HelpTopicPluginManager extends DefaultPluginManager implements HelpTopicPluginManagerInterface {
-
-  /**
-   * Provides default values for all help_topic plugins.
-   *
-   * @var array
-   */
-  protected $defaults = [
-    // The plugin ID. Set by the plugin system based on the top-level YAML key
-    'id' => '',
-    // The title of the help topic plugin
-    'label' => '',
-    // Whether or not the topic should appear on the help topics list.
-    'top_level' => '',
-    // List of related topic machine names.
-    'related' => [],
-    // List of topics this one should be listed on.
-    'list_on' => [],
-    // The unprocessed topic body text.
-    'body' => [],
-    // The machine name of the text format for the body in HTML form.
-    'body_format' => [],
-    'class' => 'Drupal\help_topics\Plugin\HelpTopic\HelpTopicDefaultPlugin',
-    'cache_tag' => '',
-  ];
-
-  /**
-   * The object that discovers plugins managed by this manager.
-   *
-   * @var \Drupal\Component\Plugin\Discovery\DiscoveryInterface
-   */
-  protected $discovery;
-
-  /**
-   * The object that instantiates plugins managed by this manager.
-   *
-   * @var \Drupal\Component\Plugin\Factory\FactoryInterface
-   */
-  protected $factory;
-
-  /**
-   * The module handler.
-   *
-   * @var \Drupal\Core\Extension\ModuleHandlerInterface
-   */
-  protected $moduleHandler;
-
-  /**
-   * The theme handler.
-   *
-   * @var \Drupal\Core\Extension\ThemeHandlerInterface
-   */
-  protected $themeHandler;
-
-  /**
-   * Constructs a new HelpTopicManager object.
-   *
-   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
-   *   The module handler.
-   * @param \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler
-   *   The theme handler.
-   */
-  public function __construct(ModuleHandlerInterface $module_handler, ThemeHandlerInterface $theme_handler) {
-    $this->moduleHandler = $module_handler;
-    $this->themeHandler = $theme_handler;
-  }
-
-  /**
-   * Performs extra processing on plugin definitions.
-   *
-   * By default we add defaults for the type to the definition. If a type has
-   * additional processing logic, the logic can be added by replacing or
-   * extending this method.
-   *
-   * @param array $definition
-   *   The definition to be processed and modified by reference.
-   * @param $plugin_id
-   *   The ID of the plugin this definition is being used for.
-   */
-  public function processDefinition(&$definition, $plugin_id) {
-    $definition = NestedArray::mergeDeep($this->defaults, $definition);
-    $definition['id'] = $plugin_id;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function getDiscovery() {
-    if (!isset($this->discovery)) {
-      // We want to find help topic plugins in both modules and themes in
-      // a sub-directory called help_topics.
-      $directories = array_merge($this->moduleHandler->getModuleDirectories(), $this->themeHandler->getThemeDirectories());
-
-      $directories = array_map(function ($dir) {
-        return [$dir . '/help_topics'];
-      }, $directories);
-
-      $file_cache_key_suffix = 'help_topic';
-      $id_key = 'id';
-      $this->discovery = new YamlDirectoryDiscovery($directories, $file_cache_key_suffix, $id_key);
-      $this->discovery = new ContainerDerivativeDiscoveryDecorator($this->discovery);
-    }
-    return $this->discovery;
-  }
-
-  /**
-   * Gets the plugin factory.
-   *
-   * @return \Drupal\Component\Plugin\Factory\FactoryInterface
-   *   An instance of the ContainerFactory object.
-   */
-  protected function getFactory() {
-    if (!isset($this->factory)) {
-      $this->factory = new ContainerFactory($this);
-    }
-    return $this->factory;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getDefinitions() {
-    // Since this function is called rarely, instantiate the discovery here.
-    // This finds all the help_topic plugins in theme and module directories
-    $definitions = $this->getDiscovery()->getDefinitions();
-
-    foreach ($definitions as $plugin_id => &$definition) {
-      $definition['id'] = $plugin_id;
-      $this->processDefinition($definition, $plugin_id);
-    }
-
-    // If this plugin was provided by a module that does not exist, remove the
-    // plugin definition.
-    // @todo Address what to do with an invalid plugin.
-    //   https://www.drupal.org/node/2302623
-    foreach ($definitions as $plugin_id => $plugin_definition) {
-      if (!empty($plugin_definition['provider']) && !$this->moduleHandler->moduleExists($plugin_definition['provider']) &&
-        (!$this->themeHandler->themeExists($plugin_definition['provider']))) {
-        unset($definitions[$plugin_id]);
-      }
-    }
-    $this->definitions = $definitions;
-    return $definitions;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getTopLevelTopics() {
-    $topics = [];
-
-    foreach ($this->getDefinitions() as $definition) {
-      if ($definition['top_level']) {
-        /** @var \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginInterface $topic **/
-
-        $topic = $this->createInstance($definition['id']);
-        $label = (string) $topic->getLabel();
-        $topics[$label] = $topic;
-      }
-    }
-
-    ksort($topics);
-    return $topics;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getAllListOn($id) {
-    $topics = [];
-
-    foreach ($this->getDefinitions() as $definition) {
-      if (in_array($id, $definition['list_on'])) {
-        $topics[] = $this->createInstance($definition['id']);
-      }
-    }
-
-    return $topics;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function findMatches($text) {
-    $topics = [];
-    foreach ($this->getDefinitions() as $definition) {
-      if ((stripos($definition['id'], $text) !== FALSE) ||
-        (stripos($definition['label'], $text) !== FALSE)) {
-        $topics[$definition['label']] = $definition['id'];
-      }
-    }
-
-    ksort($topics);
-    return $topics;
-  }
-
-}
diff --git a/src/Plugin/HelpTopic/HelpTopicPluginManagerInterface.php b/src/Plugin/HelpTopic/HelpTopicPluginManagerInterface.php
deleted file mode 100644
index d4906b8..0000000
--- a/src/Plugin/HelpTopic/HelpTopicPluginManagerInterface.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-namespace Drupal\help_topics\Plugin\HelpTopic;
-
-use Drupal\Component\Plugin\PluginManagerInterface;
-
-/**
- * Defines an interface for managing help topics and storing their definitions.
- */
-interface HelpTopicPluginManagerInterface extends PluginManagerInterface {
-
-  /**
-   * Returns a list of the top-level topics.
-   *
-   * @return \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginInterface[]
-   *   Array of all of the help topics that are marked as top-level, sorted
-   *   by topic title.
-   */
-  public function getTopLevelTopics();
-
-  /**
-   * Returns a list of topics to list on the given topic.
-   *
-   * @param string $id
-   *   ID of the topic plugin to check.
-   *
-   * @return \Drupal\help_topics\Plugin\HelpTopic\HelpTopicPluginInterface[]
-   *   Array of all of the help topics that have $id in their List On property.
-   */
-  public function getAllListOn($id);
-
-  /**
-   * Returns a list of autocomplete matches for the given text.
-   *
-   * @param string $text
-   *   Text to match.
-   *
-   * @return string[]
-   *   Array of matching topic IDs, keyed by topic title, where $text matches
-   *   a substring of the title (in its base language) or ID, with case-
-   *   insensitive matching. Returned in alphabetic order by title.
-   */
-  public function findMatches($text);
-
-}
diff --git a/templates/help-topic.html.twig b/templates/config-help.html.twig
similarity index 100%
rename from templates/help-topic.html.twig
rename to templates/config-help.html.twig
