diff --git a/konamicode.info.yml b/konamicode.info.yml
index 6f7e96468c52ff32b2aaca069896e6d7fa2af413..b2e98766ef14543f7eb8d9072ca951425dd0e152 100644
--- a/konamicode.info.yml
+++ b/konamicode.info.yml
@@ -2,6 +2,6 @@ name: Konami Code
 type: module
 description: Performs special actions when the user enters the Konami Code.
 package: Other
-core_version_requirement: ^8.8 || ^9 || ^10 || ^11
+core_version_requirement: ^10.2 || ^11
 
 configure: konamicode.configuration
diff --git a/konamicode.module b/konamicode.module
index de4fd11307e3110a5774bef2bf259721b902b86c..462881a290c2adcbbbfac8071381789bf36b1938 100644
--- a/konamicode.module
+++ b/konamicode.module
@@ -20,9 +20,9 @@ function konamicode_help($route_name, RouteMatchInterface $route_match) {
         <h3>Instructions</h3>
         <p>Install the module like any other module in the <em>modules/contrib</em> folder and enable in <strong>/admin/modules</strong>.</p>
         <p>Then, visit <strong>/admin/config/user-interface/konamicode</strong> to configure the different <em>actions</em> and options for each of the actions.</p>
-        <p>Last, visit any page and enter the configured Konami code.</p>      
+        <p>Last, visit any page and enter the configured Konami code.</p>
         <h3>Documentation</h3>
-        <p>The complete documentation guide can be found at the dedicated <a href="https://www.drupal.org/docs/8/modules/konami-code">documentation</a> page.</p>  
+        <p>The complete documentation guide can be found at the dedicated <a href="https://www.drupal.org/docs/8/modules/konami-code">documentation</a> page.</p>
       ');
   }
 }
@@ -64,7 +64,7 @@ function konamicode_page_attachments(array &$page) {
   $raw_configuration = $config->getRawData();
 
   // Fetch the Konami Code settings.
-  $main_configuration_class = new KonamicodeMainConfiguration(\Drupal::configFactory());
+  $main_configuration_class = \Drupal::service('konamicode.main_configuration');
   $actions = $main_configuration_class->getAllActions();
 
   // Loop over all the actions.
diff --git a/konamicode.services.yml b/konamicode.services.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ff1b29200e48f4df56259e616eae8ec8bcd5139b
--- /dev/null
+++ b/konamicode.services.yml
@@ -0,0 +1,4 @@
+services:
+  konamicode.main_configuration:
+    class: Drupal\konamicode\Form\KonamicodeMainConfiguration
+    arguments: [ '@config.factory', '@config.typed' ]
diff --git a/src/Form/KonamicodeActionAlertConfiguration.php b/src/Form/KonamicodeActionAlertConfiguration.php
index a17a71767720a665a18a3e2509698bd5de540d48..a59d8ae5a7fe47aae0fd3d4196669ac46243096d 100644
--- a/src/Form/KonamicodeActionAlertConfiguration.php
+++ b/src/Form/KonamicodeActionAlertConfiguration.php
@@ -3,6 +3,7 @@
 namespace Drupal\konamicode\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\TypedConfigManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 
 /**
@@ -16,8 +17,8 @@ class KonamicodeActionAlertConfiguration extends KonamicodeActionBaseConfigurati
   /**
    * {@inheritdoc}
    */
-  public function __construct(ConfigFactoryInterface $config_factory) {
-    parent::__construct($config_factory, self::$name, self::$machineName);
+  public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config_manager) {
+    parent::__construct($config_factory, $typed_config_manager, self::$name, self::$machineName);
   }
 
   /**
diff --git a/src/Form/KonamicodeActionAsteroidsConfiguration.php b/src/Form/KonamicodeActionAsteroidsConfiguration.php
index 10bfe01c5f8e55fb75990fb99e0f1f5de1e1385d..683f6be2aa27d63473219829714c9ce6fadcc4d8 100644
--- a/src/Form/KonamicodeActionAsteroidsConfiguration.php
+++ b/src/Form/KonamicodeActionAsteroidsConfiguration.php
@@ -3,6 +3,7 @@
 namespace Drupal\konamicode\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\TypedConfigManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 
 /**
@@ -17,8 +18,8 @@ class KonamicodeActionAsteroidsConfiguration extends KonamicodeActionBaseConfigu
   /**
    * {@inheritdoc}
    */
-  public function __construct(ConfigFactoryInterface $config_factory) {
-    parent::__construct($config_factory, self::$name, self::$machineName, self::$dependencies);
+  public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config_manager) {
+    parent::__construct($config_factory, $typed_config_manager, self::$name, self::$machineName, self::$dependencies);
   }
 
   /**
diff --git a/src/Form/KonamicodeActionBaseConfiguration.php b/src/Form/KonamicodeActionBaseConfiguration.php
index 340079dc6516e381c8ac53a9eb62ef2c55a0bf8c..1b9d56d81f7e2d206e166014345dff0e7761efd4 100644
--- a/src/Form/KonamicodeActionBaseConfiguration.php
+++ b/src/Form/KonamicodeActionBaseConfiguration.php
@@ -3,6 +3,7 @@
 namespace Drupal\konamicode\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\TypedConfigManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 
 /**
@@ -51,6 +52,8 @@ class KonamicodeActionBaseConfiguration extends KonamicodeMainConfiguration {
    *
    * @param Drupal\Core\Config\ConfigFactoryInterface $config_factory
    *   The ConfigFactoryInterface.
+   * @param \Drupal\Core\Config\TypedConfigManagerInterface $typedConfigManager
+   *   The typed config manager.
    * @param string $name
    *   Action name.
    * @param string $machine_name
@@ -59,11 +62,11 @@ class KonamicodeActionBaseConfiguration extends KonamicodeMainConfiguration {
    *   Optional: An array of dependencies. The dependency name must match the
    *   name set in the konamicode.libraries.yml file.
    */
-  public function __construct(ConfigFactoryInterface $config_factory, $name, $machine_name, array $dependencies = []) {
+  public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config_manager, $name, $machine_name, array $dependencies = []) {
     $this->setName($name);
     $this->setMachineName($machine_name);
     $this->setDependencies($dependencies);
-    parent::__construct($config_factory);
+    parent::__construct($config_factory, $typed_config_manager);
   }
 
   /**
diff --git a/src/Form/KonamicodeActionFlipTextConfiguration.php b/src/Form/KonamicodeActionFlipTextConfiguration.php
index dca7b12cfab39daafca84e1b606678bf77a2d892..a30d9a118288e8957ad19be5a2a87f28ed13b7ef 100644
--- a/src/Form/KonamicodeActionFlipTextConfiguration.php
+++ b/src/Form/KonamicodeActionFlipTextConfiguration.php
@@ -3,6 +3,7 @@
 namespace Drupal\konamicode\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\TypedConfigManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 
 /**
@@ -17,8 +18,8 @@ class KonamicodeActionFlipTextConfiguration extends KonamicodeActionBaseConfigur
   /**
    * {@inheritdoc}
    */
-  public function __construct(ConfigFactoryInterface $config_factory) {
-    parent::__construct($config_factory, self::$name, self::$machineName, self::$dependencies);
+  public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config_manager) {
+    parent::__construct($config_factory, $typed_config_manager, self::$name, self::$machineName, self::$dependencies);
   }
 
   /**
diff --git a/src/Form/KonamicodeActionImageSpawnConfiguration.php b/src/Form/KonamicodeActionImageSpawnConfiguration.php
index 5a5861371b6b09059bdca6e4514e2d67643e4af6..de87bef4cce7b16da26b7e620c187207173638fe 100644
--- a/src/Form/KonamicodeActionImageSpawnConfiguration.php
+++ b/src/Form/KonamicodeActionImageSpawnConfiguration.php
@@ -3,6 +3,7 @@
 namespace Drupal\konamicode\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\TypedConfigManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 
 /**
@@ -17,8 +18,8 @@ class KonamicodeActionImageSpawnConfiguration extends KonamicodeActionBaseConfig
   /**
    * {@inheritdoc}
    */
-  public function __construct(ConfigFactoryInterface $config_factory) {
-    parent::__construct($config_factory, self::$name, self::$machineName, self::$dependencies);
+  public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config_manager) {
+    parent::__construct($config_factory, $typed_config_manager, self::$name, self::$machineName, self::$dependencies);
   }
 
   /**
diff --git a/src/Form/KonamicodeActionRaptorizeConfiguration.php b/src/Form/KonamicodeActionRaptorizeConfiguration.php
index 87ac67ae8ba53993d8beaf05a41cf026eddb0463..5f572f4b9ae029864da2f5b141e0e2ce7d3114c9 100644
--- a/src/Form/KonamicodeActionRaptorizeConfiguration.php
+++ b/src/Form/KonamicodeActionRaptorizeConfiguration.php
@@ -3,6 +3,7 @@
 namespace Drupal\konamicode\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\TypedConfigManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 
 /**
@@ -17,8 +18,8 @@ class KonamicodeActionRaptorizeConfiguration extends KonamicodeActionBaseConfigu
   /**
    * {@inheritdoc}
    */
-  public function __construct(ConfigFactoryInterface $config_factory) {
-    parent::__construct($config_factory, self::$name, self::$machineName, self::$dependencies);
+  public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config_manager) {
+    parent::__construct($config_factory, $typed_config_manager, self::$name, self::$machineName, self::$dependencies);
   }
 
   /**
diff --git a/src/Form/KonamicodeActionRedirectConfiguration.php b/src/Form/KonamicodeActionRedirectConfiguration.php
index c2667b9ffadb8bee7036a5e7b0cd4b6528df856e..60590ff5779abbccd83877eef82789e4ff85aff5 100644
--- a/src/Form/KonamicodeActionRedirectConfiguration.php
+++ b/src/Form/KonamicodeActionRedirectConfiguration.php
@@ -3,6 +3,7 @@
 namespace Drupal\konamicode\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\TypedConfigManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 
 /**
@@ -16,8 +17,8 @@ class KonamicodeActionRedirectConfiguration extends KonamicodeActionBaseConfigur
   /**
    * {@inheritdoc}
    */
-  public function __construct(ConfigFactoryInterface $config_factory) {
-    parent::__construct($config_factory, self::$name, self::$machineName);
+  public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config_manager) {
+    parent::__construct($config_factory, $typed_config_manager, self::$name, self::$machineName);
   }
 
   /**
diff --git a/src/Form/KonamicodeActionReplaceImagesConfiguration.php b/src/Form/KonamicodeActionReplaceImagesConfiguration.php
index b29fb3ec4daea365c51ba3f37df284052c2e6131..8c972e299e34838dbecb86773d0b76262563c895 100644
--- a/src/Form/KonamicodeActionReplaceImagesConfiguration.php
+++ b/src/Form/KonamicodeActionReplaceImagesConfiguration.php
@@ -3,6 +3,7 @@
 namespace Drupal\konamicode\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\TypedConfigManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 
 /**
@@ -16,8 +17,8 @@ class KonamicodeActionReplaceImagesConfiguration extends KonamicodeActionBaseCon
   /**
    * {@inheritdoc}
    */
-  public function __construct(ConfigFactoryInterface $config_factory) {
-    parent::__construct($config_factory, self::$name, self::$machineName);
+  public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config_manager) {
+    parent::__construct($config_factory, $typed_config_manager, self::$name, self::$machineName);
   }
 
   /**
diff --git a/src/Form/KonamicodeActionSnowfallConfiguration.php b/src/Form/KonamicodeActionSnowfallConfiguration.php
index 69839dc83fe55cff9b39507493eacd3a11fa347e..14c43852ff93a56a4a47e3aa595d2a0beff774a2 100644
--- a/src/Form/KonamicodeActionSnowfallConfiguration.php
+++ b/src/Form/KonamicodeActionSnowfallConfiguration.php
@@ -3,6 +3,7 @@
 namespace Drupal\konamicode\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\TypedConfigManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Link;
 use Drupal\Core\Url;
@@ -19,8 +20,8 @@ class KonamicodeActionSnowfallConfiguration extends KonamicodeActionBaseConfigur
   /**
    * {@inheritdoc}
    */
-  public function __construct(ConfigFactoryInterface $config_factory) {
-    parent::__construct($config_factory, self::$name, self::$machineName, self::$dependencies);
+  public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config_manager) {
+    parent::__construct($config_factory, $typed_config_manager, self::$name, self::$machineName, self::$dependencies);
   }
 
   /**
diff --git a/src/Form/KonamicodeMainConfiguration.php b/src/Form/KonamicodeMainConfiguration.php
index 1692bc6abdc61c3ab900c9bf3d558e4a742aeeb0..291dadc289468c45c243eb768c9cf431530d0925 100644
--- a/src/Form/KonamicodeMainConfiguration.php
+++ b/src/Form/KonamicodeMainConfiguration.php
@@ -109,14 +109,14 @@ class KonamicodeMainConfiguration extends ConfigFormBase {
    */
   public function getAllActions() {
     return [
-      new KonamicodeActionRedirectConfiguration($this->configFactory),
-      new KonamicodeActionAlertConfiguration($this->configFactory),
-      new KonamicodeActionRaptorizeConfiguration($this->configFactory),
-      new KonamicodeActionFlipTextConfiguration($this->configFactory),
-      new KonamicodeActionImageSpawnConfiguration($this->configFactory),
-      new KonamicodeActionReplaceImagesConfiguration($this->configFactory),
-      new KonamicodeActionSnowfallConfiguration($this->configFactory),
-      new KonamicodeActionAsteroidsConfiguration($this->configFactory),
+      new KonamicodeActionRedirectConfiguration($this->configFactory, $this->typedConfigManager),
+      new KonamicodeActionAlertConfiguration($this->configFactory, $this->typedConfigManager),
+      new KonamicodeActionRaptorizeConfiguration($this->configFactory, $this->typedConfigManager),
+      new KonamicodeActionFlipTextConfiguration($this->configFactory, $this->typedConfigManager),
+      new KonamicodeActionImageSpawnConfiguration($this->configFactory, $this->typedConfigManager),
+      new KonamicodeActionReplaceImagesConfiguration($this->configFactory, $this->typedConfigManager),
+      new KonamicodeActionSnowfallConfiguration($this->configFactory, $this->typedConfigManager),
+      new KonamicodeActionAsteroidsConfiguration($this->configFactory, $this->typedConfigManager),
     ];
   }
 
diff --git a/tests/src/Unit/KonamicodeHexColorTest.php b/tests/src/Unit/KonamicodeHexColorTest.php
index 798404270a9a0537d2c592a49ff915c03ebef129..b4f400e674f9cbfb3c301bc30fc0321c83575813 100644
--- a/tests/src/Unit/KonamicodeHexColorTest.php
+++ b/tests/src/Unit/KonamicodeHexColorTest.php
@@ -19,6 +19,13 @@ class KonamicodeHexColorTest extends UnitTestCase {
    */
   protected $configFactory;
 
+  /**
+   * The typed config manager.
+   *
+   * @var \Drupal\Core\Config\TypedConfigManager
+   */
+  protected $typedConfigManager;
+
   /**
    * The action class used to trigger the functions.
    *
@@ -32,9 +39,10 @@ class KonamicodeHexColorTest extends UnitTestCase {
   public function setUp(): void {
     parent::setUp();
     $this->configFactory = $this->createMock('Drupal\Core\Config\ConfigFactory');
+    $this->typedConfigManager = $this->createMock('Drupal\Core\Config\TypedConfigManager');
 
     // Mock that we are the snowfall class.
-    $this->actionClass = new KonamicodeActionSnowfallConfiguration($this->configFactory);
+    $this->actionClass = new KonamicodeActionSnowfallConfiguration($this->configFactory, $this->typedConfigManager);
   }
 
   /**
diff --git a/tests/src/Unit/KonamicodeKeyCodeSequenceTest.php b/tests/src/Unit/KonamicodeKeyCodeSequenceTest.php
index d4d948aae950de0309b23faacc6f902a9a8ee1dd..30b6ae24d248f99c9b30bf5248917d9b3d13f274 100644
--- a/tests/src/Unit/KonamicodeKeyCodeSequenceTest.php
+++ b/tests/src/Unit/KonamicodeKeyCodeSequenceTest.php
@@ -18,6 +18,13 @@ class KonamicodeKeyCodeSequenceTest extends UnitTestCase {
    * @var \Drupal\Core\Config\ConfigFactory
    */
   protected $configFactory;
+    
+  /**
+   * The typed config manager.
+   *
+   * @var \Drupal\Core\Config\TypedConfigManager
+   */
+  protected $typedConfigManager;
 
   /**
    * The action class used to trigger the functions.
@@ -32,10 +39,11 @@ class KonamicodeKeyCodeSequenceTest extends UnitTestCase {
   public function setUp(): void {
     parent::setUp();
     $this->configFactory = $this->createMock('Drupal\Core\Config\ConfigFactory');
+    $this->typedConfigManager = $this->createMock('Drupal\Core\Config\TypedConfigManager');
 
     // Just mock that we are one of the action classes in order to be able to
     // call the validation function of the base class.
-    $this->actionClass = new KonamicodeActionAlertConfiguration($this->configFactory);
+    $this->actionClass = new KonamicodeActionAlertConfiguration($this->configFactory, $this->typedConfigManager);
   }
 
   /**