diff --git a/simple_oauth.services.yml b/simple_oauth.services.yml
index 4198183..69ffc97 100644
--- a/simple_oauth.services.yml
+++ b/simple_oauth.services.yml
@@ -64,12 +64,12 @@ services:
     tags:
       - { name: http_middleware }
 # Keys Generator Services
-  simple_oauth.filesystem:
-    class: Drupal\simple_oauth\Service\Filesystem\Filesystem
+  simple_oauth.filesystem_checker:
+    class: Drupal\simple_oauth\Service\Filesystem\FileSystemChecker
     arguments: ['@file_system']
   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..00d258f 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,14 +33,14 @@ class Oauth2TokenSettingsForm extends ConfigFormBase {
    *
    * @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
    *   The factory for configuration objects.
-   * @param \Drupal\simple_oauth\Service\Filesystem\FilesystemInterface $fileSystem
+   * @param \Drupal\simple_oauth\Service\Filesystem\FileSystemChecker $file_system_checker
    *   The simple_oauth.filesystem 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;
   }
 
@@ -50,7 +50,7 @@ class Oauth2TokenSettingsForm extends ConfigFormBase {
   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
new file mode 100755
index 0000000..0e7266b
--- /dev/null
+++ b/src/Service/Filesystem/FileSystemChecker.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace Drupal\simple_oauth\Service\Filesystem;
+
+/**
+ * @internal
+ */
+class FileSystemChecker {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function isExtensionEnabled($extension) {
+    return @extension_loaded($extension);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function isDirectory($uri) {
+    return @is_dir($uri);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function isWritable($uri) {
+    return @is_writable($uri);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fileExist($uri) {
+    return @file_exists($uri);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function write($uri, $content) {
+    return @file_put_contents($uri, $content);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function isReadable($uri) {
+    return @is_readable($uri);
+  }
+
+}
diff --git a/src/Service/Filesystem/Filesystem.php b/src/Service/Filesystem/Filesystem.php
deleted file mode 100755
index 1b884ea..0000000
--- a/src/Service/Filesystem/Filesystem.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-
-namespace Drupal\simple_oauth\Service\Filesystem;
-
-use Drupal\Core\File\FileSystemInterface as CoreFileSystemInterface;
-
-/**
- * @internal
- */
-class Filesystem implements FilesystemInterface {
-
-  /**
-   * @var \Drupal\Core\File\FileSystem
-   */
-  private $fileSystem;
-
-  /**
-   * Filesystem constructor.
-   *
-   * @param \Drupal\Core\File\FileSystem $file_system
-   */
-  public function __construct(CoreFileSystemInterface $file_system) {
-    $this->fileSystem = $file_system;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function isExtensionEnabled($extension) {
-    return @extension_loaded($extension);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function isDirectory($uri) {
-    return @is_dir($uri);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function isWritable($uri) {
-    return @is_writable($uri);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function fileExist($uri) {
-    return @file_exists($uri);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function write($uri, $content) {
-    return @file_put_contents($uri, $content);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function isReadable($uri) {
-    return @is_readable($uri);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function moveUploadedFile($filename, $uri) {
-    return $this->fileSystem->moveUploadedFile($filename, $uri);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function chmod($uri, $mode = NULL) {
-    return $this->fileSystem->chmod($uri, $mode);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function unlink($uri, $context = NULL) {
-    return $this->fileSystem->unlink($uri, $context);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function realpath($uri) {
-    return $this->fileSystem->realpath($uri);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function dirname($uri) {
-    return $this->fileSystem->dirname($uri);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function basename($uri, $suffix = NULL) {
-    return $this->fileSystem->basename($uri, $suffix);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function mkdir($uri, $mode = NULL, $recursive = FALSE, $context = NULL) {
-    return $this->fileSystem->mkdir($uri, $mode, $recursive, $context);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function rmdir($uri, $context = NULL) {
-    return $this->fileSystem->rmdir($uri, $context);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function tempnam($directory, $prefix) {
-    return $this->fileSystem->tempnam($directory, $prefix);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function uriScheme($uri) {
-    return $this->fileSystem->uriScheme($uri);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function validScheme($scheme) {
-    return $this->fileSystem->validScheme($scheme);
-  }
-
-}
diff --git a/src/Service/Filesystem/FilesystemInterface.php b/src/Service/Filesystem/FilesystemInterface.php
deleted file mode 100755
index 28c3eb4..0000000
--- a/src/Service/Filesystem/FilesystemInterface.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-namespace Drupal\simple_oauth\Service\Filesystem;
-
-use Drupal\Core\File\FileSystemInterface as CoreFileSystemInterface;
-
-/**
- * @internal
- */
-interface FilesystemInterface extends CoreFileSystemInterface {
-
-  /**
-   * Return true if {@var $extension} is enabled in PHP, else return false.
-   *
-   * @param string $extension
-   *   Extension name.
-   *
-   * @return bool
-   */
-  public function isExtensionEnabled($extension);
-
-  /**
-   * Return true if {@var $uri} is a directory, else return false.
-   *
-   * @param string $uri
-   *   URI.
-   *
-   * @return bool
-   */
-  public function isDirectory($uri);
-
-  /**
-   * Return true if {@var $uri} is a writable, else return false.
-   *
-   * @param string $uri
-   *   URI.
-   *
-   * @return bool
-   */
-  public function isWritable($uri);
-
-  /**
-   * Return true if {@var $uri} is a readable, else return false.
-   *
-   * @param string $uri
-   *   URI.
-   *
-   * @return bool
-   */
-  public function isReadable($uri);
-
-  /**
-   * Return true if {@var $uri} is a file and it exist , else return false.
-   *
-   * @param string $uri
-   *   URI.
-   *
-   * @return bool
-   */
-  public function fileExist($uri);
-
-  /**
-   * Write {@var $content} into {@var $uri}. Return true if successful,
-   * else return false.
-   *
-   * @param string $uri
-   *   URI.
-   * @param string $content
-   *   String content that is going to be saved.
-   *
-   * @return bool
-   */
-  public function write($uri, $content);
-
-}
diff --git a/src/Service/Filesystem/FilesystemValidator.php b/src/Service/Filesystem/FilesystemValidator.php
index 5f132d5..bc12b16 100755
--- a/src/Service/Filesystem/FilesystemValidator.php
+++ b/src/Service/Filesystem/FilesystemValidator.php
@@ -11,17 +11,17 @@ 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;
+  private $fileSystemChecker;
 
   /**
    * FilesystemValidator 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) {
-    $this->fileSystem = $file_system;
+  public function __construct(FileSystemChecker $file_system_checker) {
+    $this->fileSystemChecker = $file_system_checker;
   }
 
   /**
@@ -33,7 +33,7 @@ class FilesystemValidator {
    * @throws \Drupal\simple_oauth\Service\Exception\ExtensionNotLoadedException
    */
   public function validateOpensslExtensionExist($ext_name) {
-    if (!$this->fileSystem->isExtensionEnabled($ext_name)) {
+    if (!$this->fileSystemChecker->isExtensionEnabled($ext_name)) {
       throw new ExtensionNotLoadedException(
         strtr('Extension "@ext" is not enabled.', ['@ext' => $ext_name])
       );
@@ -50,7 +50,7 @@ class FilesystemValidator {
    */
   public function validateAreDirs($paths) {
     foreach ($paths as $path) {
-      if (!$this->fileSystem->isDirectory($path)) {
+      if (!$this->fileSystemChecker->isDirectory($path)) {
         throw new FilesystemValidationException(
           strtr('Directory "@path" is not a valid directory.', ['@path' => $path])
         );
@@ -68,7 +68,7 @@ class FilesystemValidator {
    */
   public function validateAreWritable($paths) {
     foreach ($paths as $path) {
-      if (!$this->fileSystem->isWritable($path)) {
+      if (!$this->fileSystemChecker->isWritable($path)) {
         throw new FilesystemValidationException(
           strtr('Path "@path" is not writable.', ['@path' => $path])
         );
diff --git a/src/Service/KeyGeneratorService.php b/src/Service/KeyGeneratorService.php
index 79cb2e0..614dc6a 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,23 +12,30 @@ use Drupal\simple_oauth\Service\Filesystem\FilesystemValidator;
 class KeyGeneratorService {
 
   /**
-   * @var \Drupal\simple_oauth\Service\Filesystem\Filesystem
+   * @var \Drupal\Core\File\FileSystemInterface
    */
   private $fileSystem;
 
+  /**
+   * @var \Drupal\simple_oauth\Service\Filesystem\FileSystemChecker
+   */
+  private $fileSystemChecker;
+
   /**
    * @var \Drupal\simple_oauth\Service\Filesystem\FilesystemValidator
    */
   private $validator;
 
   /**
-   * CertificateGeneratorService constructor.
+   * KeyGeneratorService constructor.
    *
-   * @param \Drupal\simple_oauth\Service\Filesystem\FilesystemInterface $file_system
+   * @param \Drupal\simple_oauth\Service\Filesystem\FileSystemChecker $file_system_checker
+   * @param \Drupal\Core\File\FileSystemInterface $file_system
    */
-  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);
   }
 
   /**
@@ -59,7 +67,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);
     }
