diff --git a/simple_oauth.services.yml b/simple_oauth.services.yml
index 4198183..11b8ce4 100644
--- a/simple_oauth.services.yml
+++ b/simple_oauth.services.yml
@@ -63,13 +63,13 @@ services:
     class: Drupal\simple_oauth\HttpMiddleware\BasicAuthSwap
     tags:
       - { name: http_middleware }
-# Keys Generator Services
-  simple_oauth.filesystem:
-    class: Drupal\simple_oauth\Service\Filesystem\Filesystem
-    arguments: ['@file_system']
+
+  # Keys Generator Services
+  simple_oauth.filesystem_checker:
+    class: Drupal\simple_oauth\Service\Filesystem\FileSystemChecker
   simple_oauth.key.generator:
     class: Drupal\simple_oauth\Service\KeyGeneratorService
-    arguments: ['@simple_oauth.filesystem']
+    arguments: ['@simple_oauth.filesystem_checker', '@file_system']
   simple_oauth.known_clients:
     class: \Drupal\simple_oauth\KnownClientsRepository
     arguments: ['@user.data']
diff --git a/src/Entity/Form/Oauth2TokenSettingsForm.php b/src/Entity/Form/Oauth2TokenSettingsForm.php
index 4370c92..f49c9f8 100644
--- a/src/Entity/Form/Oauth2TokenSettingsForm.php
+++ b/src/Entity/Form/Oauth2TokenSettingsForm.php
@@ -7,7 +7,7 @@ use Drupal\Core\Form\ConfigFormBase;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Messenger\MessengerInterface;
 use Drupal\Core\Url;
-use Drupal\simple_oauth\Service\Filesystem\FilesystemInterface;
+use Drupal\simple_oauth\Service\Filesystem\FileSystemChecker;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -16,9 +16,9 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
 class Oauth2TokenSettingsForm extends ConfigFormBase {
 
   /**
-   * @var \Drupal\simple_oauth\Service\Filesystem\FilesystemInterface
+   * @var \Drupal\simple_oauth\Service\Filesystem\FileSystemChecker
    */
-  protected $fileSystem;
+  protected $fileSystemChecker;
 
   /**
    * The messenger service.
@@ -33,24 +33,24 @@ class Oauth2TokenSettingsForm extends ConfigFormBase {
    *
    * @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
    *   The factory for configuration objects.
-   * @param \Drupal\simple_oauth\Service\Filesystem\FilesystemInterface $fileSystem
-   *   The simple_oauth.filesystem service.
+   * @param \Drupal\simple_oauth\Service\Filesystem\FileSystemChecker $file_system_checker
+   *   The simple_oauth.filesystem_checker service.
    * @param \Drupal\Core\Messenger\MessengerInterface $messenger
    *   The messenger service.
    */
-  public function __construct(ConfigFactoryInterface $configFactory, FilesystemInterface $fileSystem, MessengerInterface $messenger) {
+  public function __construct(ConfigFactoryInterface $configFactory, FileSystemChecker $file_system_checker, MessengerInterface $messenger) {
     parent::__construct($configFactory);
-    $this->fileSystem = $fileSystem;
+    $this->fileSystemChecker = $file_system_checker;
     $this->messenger = $messenger;
   }
 
   /**
-   *
+   * {@inheritdoc}
    */
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('config.factory'),
-      $container->get('simple_oauth.filesystem'),
+      $container->get('simple_oauth.filesystem_checker'),
       $container->get('messenger')
     );
   }
@@ -150,7 +150,7 @@ class Oauth2TokenSettingsForm extends ConfigFormBase {
     ];
 
     // Generate Key Modal Button if openssl extension is enabled.
-    if ($this->fileSystem->isExtensionEnabled('openssl')) {
+    if ($this->fileSystemChecker->isExtensionEnabled('openssl')) {
       // Generate Modal Button.
       $form['actions']['generate']['keys'] = [
         '#type' => 'link',
@@ -193,11 +193,11 @@ class Oauth2TokenSettingsForm extends ConfigFormBase {
     if (!empty($element['#value'])) {
       $path = $element['#value'];
       // Does the file exist?
-      if (!$this->fileSystem->fileExist($path)) {
+      if (!$this->fileSystemChecker->fileExist($path)) {
         $form_state->setError($element, $this->t('The %field file does not exist.', ['%field' => $element['#title']]));
       }
       // Is the file readable?
-      if (!$this->fileSystem->isReadable($path)) {
+      if (!$this->fileSystemChecker->isReadable($path)) {
         $form_state->setError($element, $this->t('The %field file at the specified location is not readable.', ['%field' => $element['#title']]));
       }
     }
diff --git a/src/Service/Filesystem/FileSystemChecker.php b/src/Service/Filesystem/FileSystemChecker.php
index 171b22c..0e7266b 100755
--- a/src/Service/Filesystem/FileSystemChecker.php
+++ b/src/Service/Filesystem/FileSystemChecker.php
@@ -5,7 +5,7 @@ namespace Drupal\simple_oauth\Service\Filesystem;
 /**
  * @internal
  */
-class Filesystem {
+class FileSystemChecker {
 
   /**
    * {@inheritdoc}
diff --git a/src/Service/Filesystem/FilesystemValidator.php b/src/Service/Filesystem/FilesystemValidator.php
index 5f132d5..778cad1 100755
--- a/src/Service/Filesystem/FilesystemValidator.php
+++ b/src/Service/Filesystem/FilesystemValidator.php
@@ -11,16 +11,16 @@ use Drupal\simple_oauth\Service\Exception\ExtensionNotLoadedException;
 class FilesystemValidator {
 
   /**
-   * @var \Drupal\simple_oauth\Service\Filesystem\FilesystemInterface
+   * @var \Drupal\simple_oauth\Service\Filesystem\FileSystemChecker
    */
   private $fileSystem;
 
   /**
    * FilesystemValidator constructor.
    *
-   * @param \Drupal\simple_oauth\Service\Filesystem\FilesystemInterface $file_system
+   * @param \Drupal\simple_oauth\Service\Filesystem\FileSystemChecker $file_system
    */
-  public function __construct(FilesystemInterface $file_system) {
+  public function __construct(FileSystemChecker $file_system) {
     $this->fileSystem = $file_system;
   }
 
diff --git a/src/Service/KeyGeneratorService.php b/src/Service/KeyGeneratorService.php
index 79cb2e0..2f41760 100755
--- a/src/Service/KeyGeneratorService.php
+++ b/src/Service/KeyGeneratorService.php
@@ -2,7 +2,8 @@
 
 namespace Drupal\simple_oauth\Service;
 
-use Drupal\simple_oauth\Service\Filesystem\FilesystemInterface;
+use Drupal\Core\File\FileSystemInterface;
+use Drupal\simple_oauth\Service\Filesystem\FileSystemChecker;
 use Drupal\simple_oauth\Service\Filesystem\FilesystemValidator;
 
 /**
@@ -11,7 +12,12 @@ use Drupal\simple_oauth\Service\Filesystem\FilesystemValidator;
 class KeyGeneratorService {
 
   /**
-   * @var \Drupal\simple_oauth\Service\Filesystem\Filesystem
+   * @var \Drupal\simple_oauth\Service\Filesystem\FileSystemChecker
+   */
+  private $fileSystemChecker;
+
+  /**
+   * @var \Drupal\Core\File\FileSystemInterface
    */
   private $fileSystem;
 
@@ -23,11 +29,12 @@ class KeyGeneratorService {
   /**
    * CertificateGeneratorService constructor.
    *
-   * @param \Drupal\simple_oauth\Service\Filesystem\FilesystemInterface $file_system
+   * @param \Drupal\simple_oauth\Service\Filesystem\FileSystemChecker $file_system_checker
    */
-  public function __construct(FilesystemInterface $file_system) {
+  public function __construct(FileSystemChecker $file_system_checker, FileSystemInterface $file_system) {
+    $this->fileSystemChecker = $file_system_checker;
     $this->fileSystem = $file_system;
-    $this->validator = new FilesystemValidator($file_system);
+    $this->validator = new FilesystemValidator($file_system_checker);
   }
 
   /**
@@ -39,6 +46,9 @@ class KeyGeneratorService {
    *   Private key path.
    *
    * @return void
+   *
+   * @throws \Drupal\simple_oauth\Service\Exception\ExtensionNotLoadedException
+   * @throws \Drupal\simple_oauth\Service\Exception\FilesystemValidationException
    */
   public function generateKeys($dir_path) {
     // Create path array.
@@ -59,7 +69,7 @@ class KeyGeneratorService {
       // Remove old key.
       $this->fileSystem->unlink($key_uri);
       // Write key content to key file.
-      $this->fileSystem->write($key_uri, $keys[$name]);
+      $this->fileSystemChecker->write($key_uri, $keys[$name]);
       // Set correct permission to key file.
       $this->fileSystem->chmod($key_uri, 0600);
     }
