diff --git a/src/Plugin/Field/FieldWidget/DateConfigurableListWidget.php b/src/Plugin/Field/FieldWidget/DateConfigurableListWidget.php
index f2f3701..1ec97b3 100644
--- a/src/Plugin/Field/FieldWidget/DateConfigurableListWidget.php
+++ b/src/Plugin/Field/FieldWidget/DateConfigurableListWidget.php
@@ -2,9 +2,7 @@
 
 namespace Drupal\datetime_extras\Plugin\Field\FieldWidget;
 
-use Drupal\Core\Field\FieldItemListInterface;
-use Drupal\Core\Form\FormStateInterface;
-use Drupal\datetime\Plugin\Field\FieldWidget\DateTimeDatelistWidget;
+use Drupal\Core\Field\FieldDefinitionInterface;
 
 /**
  * Plugin implementation of the 'datatime_extras_configurable_list' widget.
@@ -16,92 +14,16 @@ use Drupal\datetime\Plugin\Field\FieldWidget\DateTimeDatelistWidget;
  *     "datetime"
  *   }
  * )
+ *
+ *  @deprecated in 1.x and will be removed in 2.x. Use
+ * \Drupal\datetime_extras\Plugin\Field\FieldWidget\DateTimeConfigurableList
+ * instead.
  */
-class DateConfigurableListWidget extends DateTimeDatelistWidget {
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function defaultSettings() {
-    return [
-        'date_year_range' => '1900:2050',
-      ] + parent::defaultSettings();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function settingsForm(array $form, FormStateInterface $form_state) {
-    $elements = parent::settingsForm($form, $form_state);
-
-    $elements['date_order']['#options'] += [
-      'Y' => $this->t('Year'),
-      'MY' => $this->t('Month/Year'),
-      'YM' => $this->t('Year/Month'),
-    ];
-
-    $elements['date_year_range'] = [
-      '#type' => 'textfield',
-      '#title' => t('Date year range'),
-      '#description' => "Example: 2000:2010",
-      '#default_value' => $this->getSetting('date_year_range'),
-    ];
-
-    return $elements;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function settingsSummary() {
-    $summary = parent::settingsSummary();
-
-    $summary[] = t('Date year range: @range', ['@range' => $this->getSetting('date_year_range')]);
-
-    return $summary;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
-    $date_order = $this->getSetting('date_order');
-
-    // Set up the date part order array.
-    switch ($date_order) {
-      case 'Y':
-        $date_part_order = ['year'];
-        break;
-
-      case 'MY':
-        $date_part_order = ['month', 'year'];
-        break;
-
-      case 'YM':
-        $date_part_order = ['year', 'month'];
-        break;
-    }
-
-    // Work around core bug.
-    // @TODO: Fix after https://www.drupal.org/node/2863897
-    if (isset($date_part_order)) {
-      $this->setSetting('date_order', 'YMD');
-    }
-
-    $element = parent::formElement($items, $delta, $element, $form, $form_state);
-    $this->setSetting('date_order', $date_order);
-
-    if (isset($date_part_order)) {
-      $element['value']['#date_part_order'] = $date_part_order;
-    }
-
-    // Set year start / end
-    $year_range = $this->getSetting('date_year_range');
-    if (isset($year_range)) {
-      $element['value']['#date_year_range'] = $year_range;
-    }
+class DateConfigurableListWidget extends DateTimeConfigurableList {
 
-    return $element;
+  public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, array $third_party_settings) {
+    parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $third_party_settings);
+    @trigger_error('The ' . __NAMESPACE__ . '\DateConfigurableListWidget is deprecated in 1.x and will be removed before 2.0. Instead, use ' . __NAMESPACE__ . '\DateTimeConfigurableList.', E_USER_DEPRECATED);
   }
 
 }
diff --git a/src/Plugin/Field/FieldWidget/DateTimeConfigurableList.php b/src/Plugin/Field/FieldWidget/DateTimeConfigurableList.php
new file mode 100644
index 0000000..1879168
--- /dev/null
+++ b/src/Plugin/Field/FieldWidget/DateTimeConfigurableList.php
@@ -0,0 +1,107 @@
+<?php
+
+namespace Drupal\datetime_extras\Plugin\Field\FieldWidget;
+
+use Drupal\Core\Field\FieldItemListInterface;
+use Drupal\Core\Form\FormStateInterface;
+use Drupal\datetime\Plugin\Field\FieldWidget\DateTimeDatelistWidget;
+
+/**
+ * Plugin implementation of the 'datatime_extras_configurable_list' widget.
+ *
+ * @FieldWidget(
+ *   id = "datetime_configurable_list",
+ *   label = @Translation("Configurable list"),
+ *   field_types = {
+ *     "datetime",
+ *   },
+ * )
+ */
+class DateTimeConfigurableList extends DateTimeDatelistWidget {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function defaultSettings() {
+    return [
+        'date_year_range' => '1900:2050',
+      ] + parent::defaultSettings();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function settingsForm(array $form, FormStateInterface $form_state) {
+    $elements = parent::settingsForm($form, $form_state);
+
+    $elements['date_order']['#options'] += [
+      'Y' => $this->t('Year'),
+      'MY' => $this->t('Month/Year'),
+      'YM' => $this->t('Year/Month'),
+    ];
+
+    $elements['date_year_range'] = [
+      '#type' => 'textfield',
+      '#title' => t('Date year range'),
+      '#description' => "Example: 2000:2010",
+      '#default_value' => $this->getSetting('date_year_range'),
+    ];
+
+    return $elements;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function settingsSummary() {
+    $summary = parent::settingsSummary();
+
+    $summary[] = t('Date year range: @range', ['@range' => $this->getSetting('date_year_range')]);
+
+    return $summary;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
+    $date_order = $this->getSetting('date_order');
+
+    // Set up the date part order array.
+    switch ($date_order) {
+      case 'Y':
+        $date_part_order = ['year'];
+        break;
+
+      case 'MY':
+        $date_part_order = ['month', 'year'];
+        break;
+
+      case 'YM':
+        $date_part_order = ['year', 'month'];
+        break;
+    }
+
+    // Work around core bug.
+    // @TODO: Fix after https://www.drupal.org/node/2863897
+    if (isset($date_part_order)) {
+      $this->setSetting('date_order', 'YMD');
+    }
+
+    $element = parent::formElement($items, $delta, $element, $form, $form_state);
+    $this->setSetting('date_order', $date_order);
+
+    if (isset($date_part_order)) {
+      $element['value']['#date_part_order'] = $date_part_order;
+    }
+
+    // Set year start / end
+    $year_range = $this->getSetting('date_year_range');
+    if (isset($year_range)) {
+      $element['value']['#date_year_range'] = $year_range;
+    }
+
+    return $element;
+  }
+
+}
diff --git a/tests/src/Kernel/DateConfigurableListWidgetTest.php b/tests/src/Kernel/DateConfigurableListWidgetTest.php
new file mode 100644
index 0000000..1557b62
--- /dev/null
+++ b/tests/src/Kernel/DateConfigurableListWidgetTest.php
@@ -0,0 +1,46 @@
+<?php
+
+namespace Drupal\Tests\datetime_extras\Kernel;
+
+use Drupal\Core\Field\BaseFieldDefinition;
+use Drupal\KernelTests\KernelTestBase;
+use Drupal\Tests\Traits\ExpectDeprecationTrait;
+
+/**
+ * Test the DateConfigurableListWidget for datetime fields.
+ *
+ * @coversDefaultClass \Drupal\datetime_extras\Plugin\Field\FieldWidget\DateConfigurableListWidget
+ * @group datetime_extras
+ * @group legacy
+ */
+class DateConfigurableListWidgetTest extends KernelTestBase {
+  use ExpectDeprecationTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'datetime',
+    'datetime_extras',
+  ];
+
+  /**
+   * @covers ::__construct
+   */
+  public function testConstruction() {
+    $base_field_definition = BaseFieldDefinition::create('datetime')
+      ->setName('Configurable List');
+
+    $widget_options = [
+      'field_definition' => $base_field_definition,
+      'form_mode' => 'default',
+      'configuration' => [
+        'type' => 'datatime_extras_configurable_list',
+      ],
+    ];
+
+    $this->expectDeprecation('The Drupal\datetime_extras\Plugin\Field\FieldWidget\DateConfigurableListWidget is deprecated in 1.x and will be removed before 2.0. Instead, use Drupal\datetime_extras\Plugin\Field\FieldWidget\DateTimeConfigurableList.');
+    $this->container->get('plugin.manager.field.widget')->getInstance($widget_options);
+  }
+
+}
diff --git a/tests/src/Kernel/DateTimeConfigurableListTest.php b/tests/src/Kernel/DateTimeConfigurableListTest.php
new file mode 100644
index 0000000..aee819e
--- /dev/null
+++ b/tests/src/Kernel/DateTimeConfigurableListTest.php
@@ -0,0 +1,61 @@
+<?php
+
+namespace Drupal\Tests\datetime_extras\Kernel;
+
+use Drupal\Core\Field\BaseFieldDefinition;
+use Drupal\datetime_extras\Plugin\Field\FieldWidget\DateTimeConfigurableList;
+use Drupal\KernelTests\KernelTestBase;
+
+/**
+ * Test the DateTimeConfigurableList for datetime fields.
+ *
+ * @coversDefaultClass \Drupal\datetime_extras\Plugin\Field\FieldWidget\DateTimeConfigurableList
+ * @group datetime_extras
+ */
+class DateTimeConfigurableListTest extends KernelTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'user',
+    'system',
+    'field',
+    'text',
+    'datetime',
+    'datetime_extras',
+  ];
+
+  /**
+   * Set the default field storage backend for fields created during tests.
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->installEntitySchema('user');
+    $this->installSchema('system', ['sequences', 'key_value']);
+
+    // Set default storage backend and configure the theme system.
+    $this->installConfig(['field', 'system']);
+  }
+
+  /**
+   * @covers ::__construct
+   */
+  public function testConstruction() {
+    $base_field_definition = BaseFieldDefinition::create('datetime')
+      ->setName('Configurable List');
+
+    $widget_options = [
+      'field_definition' => $base_field_definition,
+      'form_mode' => 'default',
+      'configuration' => [
+        'type' => 'datetime_configurable_list',
+      ],
+    ];
+
+    $instance = $this->container->get('plugin.manager.field.widget')->getInstance($widget_options);
+    $this->assertInstanceOf(DateTimeConfigurableList::class, $instance);
+  }
+
+}
