diff --git a/config/install/diff.plugins.yml b/config/install/diff.plugins.yml
index 2efe69c..1a3b3b8 100644
--- a/config/install/diff.plugins.yml
+++ b/config/install/diff.plugins.yml
@@ -1,161 +1,162 @@
-datetime:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-file:
-  type: file_field_diff_builder
-  settings:
-    show_id: 1
-    compare_description_field: 0
-    compare_display_field: 0
-    property_separator: nl
-    show_header: 1
-    markdown: drupal_html_to_text
-image:
-  type: image_field_diff_builder
-  settings:
-    show_id: 1
-    compare_alt_field: 0
-    compare_title_field: 0
-    property_separator: nl
-    show_header: 1
-    markdown: drupal_html_to_text
-list_string:
-  type: list_field_diff_builder
-  settings:
-    compare: key
-    show_header: 1
-    markdown: drupal_html_to_text
-list_float:
-  type: list_field_diff_builder
-  settings:
-    compare: key
-    show_header: 1
-    markdown: drupal_html_to_text
-list_integer:
-  type: list_field_diff_builder
-  settings:
-    compare: key
-    show_header: 1
-    markdown: drupal_html_to_text
-path:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-taxonomy_term_reference:
-  type: term_reference_field_diff_builder
-  settings:
-    show_name: 1
-    show_id: 0
-    show_header: 1
-    markdown: drupal_html_to_text
-text:
-  type: text_field_diff_builder
-  settings:
-    compare_format: 0
-    show_header: 1
-    markdown: drupal_html_to_text
-text_long:
-  type: text_field_diff_builder
-  settings:
-    compare_format: 0
-    show_header: 1
-    markdown: drupal_html_to_text
-text_with_summary:
-  type: text_summary_field_diff_builder
-  settings:
-    compare_format: 0
-    compare_summary: 0
-    show_header: 1
-    markdown: drupal_html_to_text
-email:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-string_long:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-integer:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-created:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-string:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-changed:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-uuid:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-entity_reference:
-  type: entity_reference_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-language:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-float:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-map:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-timestamp:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-boolean:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-uri:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-decimal:
-  type: core_field_diff_builder
-  settings:
-    show_header: 1
-    markdown: drupal_html_to_text
-link:
-  type: link_field_diff_builder
-  settings:
-    compare_title: 0
-    compare_uri: 1
-    show_header: 1
-    markdown: drupal_html_to_text
-comment:
-  type: comment_field_diff_builder
-  settings:
-    compare_key: 0
-    compare_string: 1
-    show_header: 1
-    markdown: drupal_html_to_text
+field_types:
+  datetime:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  file:
+    type: file_field_diff_builder
+    settings:
+      show_id: 1
+      compare_description_field: 0
+      compare_display_field: 0
+      property_separator: nl
+      show_header: 1
+      markdown: drupal_html_to_text
+  image:
+    type: image_field_diff_builder
+    settings:
+      show_id: 1
+      compare_alt_field: 0
+      compare_title_field: 0
+      property_separator: nl
+      show_header: 1
+      markdown: drupal_html_to_text
+  list_string:
+    type: list_field_diff_builder
+    settings:
+      compare: key
+      show_header: 1
+      markdown: drupal_html_to_text
+  list_float:
+    type: list_field_diff_builder
+    settings:
+      compare: key
+      show_header: 1
+      markdown: drupal_html_to_text
+  list_integer:
+    type: list_field_diff_builder
+    settings:
+      compare: key
+      show_header: 1
+      markdown: drupal_html_to_text
+  path:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  taxonomy_term_reference:
+    type: term_reference_field_diff_builder
+    settings:
+      show_name: 1
+      show_id: 0
+      show_header: 1
+      markdown: drupal_html_to_text
+  text:
+    type: text_field_diff_builder
+    settings:
+      compare_format: 0
+      show_header: 1
+      markdown: drupal_html_to_text
+  text_long:
+    type: text_field_diff_builder
+    settings:
+      compare_format: 0
+      show_header: 1
+      markdown: drupal_html_to_text
+  text_with_summary:
+    type: text_summary_field_diff_builder
+    settings:
+      compare_format: 0
+      compare_summary: 0
+      show_header: 1
+      markdown: drupal_html_to_text
+  email:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  string_long:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  integer:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  created:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  string:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  changed:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  uuid:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  entity_reference:
+    type: entity_reference_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  language:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  float:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  map:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  timestamp:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  boolean:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  uri:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  decimal:
+    type: core_field_diff_builder
+    settings:
+      show_header: 1
+      markdown: drupal_html_to_text
+  link:
+    type: link_field_diff_builder
+    settings:
+      compare_title: 0
+      compare_uri: 1
+      show_header: 1
+      markdown: drupal_html_to_text
+  comment:
+    type: comment_field_diff_builder
+    settings:
+      compare_key: 0
+      compare_string: 1
+      show_header: 1
+      markdown: drupal_html_to_text
diff --git a/config/schema/diff.schema.yml b/config/schema/diff.schema.yml
index 3651876..74c0626 100644
--- a/config/schema/diff.schema.yml
+++ b/config/schema/diff.schema.yml
@@ -1,5 +1,5 @@
 diff.settings:
-  type: mapping
+  type: config_object
   label: 'Settings'
   mapping:
     general_settings:
@@ -29,17 +29,20 @@ diff.settings:
               label: 'Compare base field'
 
 diff.plugins:
-  type: sequence
+  type: config_object
   label: 'Field Type'
-  sequence:
-    - type: mapping
-      label: 'Diff configuration for a field type'
-      mapping:
-        type:
-          type: text
-          label: 'Plugin key'
-        settings:
-          type: diff.plugin.settings.[%parent.type]
+  mapping:
+    field_types:
+      type: sequence
+      sequence:
+        - type: mapping
+          label: 'Diff configuration for a field type'
+          mapping:
+            type:
+              type: text
+              label: 'Plugin key'
+            settings:
+              type: diff.plugin.settings.[%parent.type]
 
 diff.plugin.settings_base:
   type: mapping
diff --git a/src/DiffEntityParser.php b/src/DiffEntityParser.php
index 5ad8dd6..7c6a377 100644
--- a/src/DiffEntityParser.php
+++ b/src/DiffEntityParser.php
@@ -76,7 +76,7 @@ class DiffEntityParser {
     // into an array of strings according to field type specific settings.
     foreach ($entity as $field_items) {
       $field_type = $field_items->getFieldDefinition()->getType();
-      $plugin_config = $this->pluginsConfig->get($field_type);
+      $plugin_config = $this->pluginsConfig->get('field_types.' . $field_type);
       $plugin = NULL;
       if ($plugin_config && $plugin_config['type'] != 'hidden') {
         $plugin = $this->diffBuilderManager->createInstance($plugin_config['type'], $plugin_config['settings']);
diff --git a/src/EntityComparisonBase.php b/src/EntityComparisonBase.php
index 3b278f9..274f17f 100644
--- a/src/EntityComparisonBase.php
+++ b/src/EntityComparisonBase.php
@@ -119,7 +119,7 @@ class EntityComparisonBase extends ControllerBase {
     foreach ($left_values as $field_name => $values) {
       $field_definition = $left_entity->getFieldDefinition($field_name);
       // Get the compare settings for this field type.
-      $compare_settings = $this->pluginsConfig->get($field_definition->getType());
+      $compare_settings = $this->pluginsConfig->get('field_types.' . $field_definition->getType());
       $result[$field_name] = array(
         '#name' => ($compare_settings['settings']['show_header'] == 1) ? $field_definition->getLabel() : '',
         '#settings' => $compare_settings,
@@ -141,7 +141,7 @@ class EntityComparisonBase extends ControllerBase {
     // Fields which exist only on the right entity.
     foreach ($right_values as $field_name => $values) {
       $field_definition = $right_entity->getFieldDefinition($field_name);
-      $compare_settings = $this->pluginsConfig->get($field_definition->getType());
+      $compare_settings = $this->pluginsConfig->get('field_types.' . $field_definition->getType());
       $result[$field_name] = array(
         '#name' => ($compare_settings['settings']['show_header'] == 1) ? $field_definition->getLabel() : '',
         '#settings' => $compare_settings,
diff --git a/src/Form/FieldTypesSettingsForm.php b/src/Form/FieldTypesSettingsForm.php
index 11d3d46..33ca7db 100644
--- a/src/Form/FieldTypesSettingsForm.php
+++ b/src/Form/FieldTypesSettingsForm.php
@@ -146,7 +146,7 @@ class FieldTypesSettingsForm extends ConfigFormBase {
    *   A table row for the field type listing table.
    */
   protected function buildFieldRow($field_type, $field_definition, $plugins, $diff_plugin_definitions, FormStateInterface $form_state) {
-    $display_options = $this->config->get($field_type);
+    $display_options = $this->config->get('field_types.' . $field_type);
     $field_type_label = $this->t('@field_label (%field_type)', array(
         '@field_label' => $field_definition['label'],
         '%field_type' => $field_type,
