diff --git a/libraries.services.yml b/libraries.services.yml
index 3e0b692..9484f7b 100644
--- a/libraries.services.yml
+++ b/libraries.services.yml
@@ -4,7 +4,6 @@ services:
     arguments:
       - '@libraries.definition.discovery'
       - '@plugin.manager.libraries.library_type'
-      - '@libraries.extension_handler'
 
   # These services are modified depending on the values of the
   # 'libraries.settings' configuration object. See LibrariesServiceProvider.
@@ -39,9 +38,6 @@ services:
     tags:
       - { name: event_subscriber }
 
-  libraries.extension_handler:
-    class: Drupal\libraries\Extension\ExtensionHandler
-    arguments: ['%app.root', '@module_handler', '@theme_handler']
   libraries.php_file_loader:
     class: Drupal\libraries\ExternalLibrary\PhpFile\PhpRequireLoader
 
diff --git a/src/Extension/Core/ExtensionInterface.php b/src/Extension/Core/ExtensionInterface.php
deleted file mode 100644
index 1236c98..0000000
--- a/src/Extension/Core/ExtensionInterface.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-namespace Drupal\libraries\Extension\Core;
-
-/**
- * Provides an interface for \Drupal\Core\Extension\Extension and its children.
- *
- * @todo Move this upstream.
- * @todo Consider providing an interface (with trait) for \SplFileInfo and
- *   extending it.
- */
-interface ExtensionInterface extends \Serializable {
-
-  /**
-   * Returns the type of the extension.
-   *
-   * @return string
-   */
-  public function getType();
-
-  /**
-   * Returns the internal name of the extension.
-   *
-   * @return string
-   */
-  public function getName();
-
-  /**
-   * Returns the relative path of the extension.
-   *
-   * @return string
-   */
-  public function getPath();
-
-  /**
-   * Returns the relative path and filename of the extension's info file.
-   *
-   * @return string
-   */
-  public function getPathname();
-
-  /**
-   * Returns the filename of the extension's info file.
-   *
-   * @return string
-   */
-  public function getFilename();
-
-  /**
-   * Returns the relative path of the main extension file, if any.
-   *
-   * @return string|null
-   */
-  public function getExtensionPathname();
-
-  /**
-   * Returns the name of the main extension file, if any.
-   *
-   * @return string|null
-   */
-  public function getExtensionFilename();
-
-  /**
-   * Loads the main extension file, if any.
-   *
-   * @return bool
-   *   TRUE if this extension has a main extension file, FALSE otherwise.
-   */
-  public function load();
-
-}
diff --git a/src/Extension/Extension.php b/src/Extension/Extension.php
deleted file mode 100644
index 00204f0..0000000
--- a/src/Extension/Extension.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace Drupal\libraries\Extension;
-
-use Drupal\Core\Extension\Extension as CoreExtension;
-
-/**
- * @todo
- */
-class Extension extends CoreExtension implements ExtensionInterface {
-
-  /**
-   * {@inheritdoc}
-   *
-   * @todo Determine whether this needs to be cached.
-   */
-  public function getLibraryDependencies() {
-    // @todo Make this unit-testable.
-    $type = $this->getType();
-    // system_get_info() lists profiles as type "module"
-    $type = $type == 'profile' ? 'module' : $type;
-    $info = system_get_info($type, $this->getName());
-    assert('!empty($info)');
-    return isset($info['library_dependencies']) ? $info['library_dependencies'] : [];
-  }
-
-}
diff --git a/src/Extension/ExtensionHandler.php b/src/Extension/ExtensionHandler.php
deleted file mode 100644
index 587d87b..0000000
--- a/src/Extension/ExtensionHandler.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-namespace Drupal\libraries\Extension;
-
-use Drupal\Core\Extension\Extension as CoreExtension;
-use Drupal\Core\Extension\ModuleHandlerInterface;
-use Drupal\Core\Extension\ThemeHandlerInterface;
-
-/**
- * @todo
- */
-class ExtensionHandler implements ExtensionHandlerInterface {
-
-  /**
-   * The app root.
-   *
-   * @var string
-   */
-  protected $root;
-
-  /**
-   * The module handler.
-   *
-   * @var \Drupal\Core\Extension\ModuleHandlerInterface
-   */
-  protected $moduleHandler;
-
-  /**
-   * The theme handler.
-   *
-   * @var \Drupal\Core\Extension\ThemeHandlerInterface
-   */
-  protected $themeHandler;
-
-  /**
-   * Constructs an extension handler.
-   *
-   * @param string $root
-   *   The app root.
-   * @param \Drupal\Core\Extension\ModuleHandlerInterface $moduleHandler
-   *   The module handler.
-   * @param \Drupal\Core\Extension\ThemeHandlerInterface $themeHandler
-   *   The theme handler.
-   */
-  public function __construct(
-    $root,
-    ModuleHandlerInterface $moduleHandler,
-    ThemeHandlerInterface $themeHandler
-  ) {
-    $this->root = $root;
-    $this->moduleHandler = $moduleHandler;
-    $this->themeHandler = $themeHandler;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getExtensions() {
-    foreach ($this->moduleHandler->getModuleList() as $module) {
-      yield $this->wrapCoreExtension($module);
-    }
-
-    foreach ($this->themeHandler->listInfo() as $theme) {
-      yield $this->wrapCoreExtension($theme);
-    }
-  }
-
-  /**
-   * Creates a Libraries API extension object from a core extension object.
-   *
-   * @param \Drupal\Core\Extension\Extension $core_extension
-   *   The core extension object.
-   *
-   * @return \Drupal\libraries\Extension\ExtensionInterface
-   *   The Libraries API extension object.
-   */
-  protected function wrapCoreExtension(CoreExtension $core_extension) {
-    return new Extension(
-      $this->root,
-      $core_extension->getType(),
-      $core_extension->getPathname(),
-      $core_extension->getExtensionFilename()
-    );
-  }
-
-}
diff --git a/src/Extension/ExtensionHandlerInterface.php b/src/Extension/ExtensionHandlerInterface.php
deleted file mode 100644
index be8b2a1..0000000
--- a/src/Extension/ExtensionHandlerInterface.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-namespace Drupal\libraries\Extension;
-
-/**
- * Provides an interface for extension handlers.
- */
-interface ExtensionHandlerInterface {
-
-  /**
-   * Returns all extensions installed on the system.
-   *
-   * @return \Drupal\libraries\Extension\ExtensionInterface[]|\Generator
-   *   An array of extension objects keyed by the name of the extension.
-   */
-  public function getExtensions();
-
-}
diff --git a/src/Extension/ExtensionInterface.php b/src/Extension/ExtensionInterface.php
deleted file mode 100644
index 6062449..0000000
--- a/src/Extension/ExtensionInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-namespace Drupal\libraries\Extension;
-
-use Drupal\libraries\Extension\Core\ExtensionInterface as CoreExtensionInterface;
-
-/**
- * Provides an interface for extensions.
- *
- * @todo Consider the extends or alternatively consider slimming
- *   CoreExtensionInterface.
- */
-interface ExtensionInterface extends CoreExtensionInterface {
-
-  /**
-   * Gets the library dependencies of the extension, if any.
-   *
-   * @return array
-   *   The IDs of the libraries the extension depends on.
-   */
-  public function getLibraryDependencies();
-
-}
diff --git a/src/ExternalLibrary/LibraryManager.php b/src/ExternalLibrary/LibraryManager.php
index 3392c1e..17a6223 100644
--- a/src/ExternalLibrary/LibraryManager.php
+++ b/src/ExternalLibrary/LibraryManager.php
@@ -3,7 +3,6 @@
 namespace Drupal\libraries\ExternalLibrary;
 
 use Drupal\Component\Plugin\Factory\FactoryInterface;
-use Drupal\libraries\Extension\ExtensionHandlerInterface;
 use Drupal\libraries\ExternalLibrary\Exception\LibraryTypeNotFoundException;
 use Drupal\libraries\ExternalLibrary\Type\LibraryCreationListenerInterface;
 use Drupal\libraries\ExternalLibrary\Type\LibraryLoadingListenerInterface;
@@ -33,30 +32,19 @@ class LibraryManager implements LibraryManagerInterface {
   protected $libraryTypeFactory;
 
   /**
-   * The extension handler.
-   *
-   * @var \Drupal\libraries\Extension\ExtensionHandlerInterface
-   */
-  protected $extensionHandler;
-
-  /**
    * Constructs an external library manager.
    *
    * @param \Drupal\libraries\ExternalLibrary\Definition\DefinitionDiscoveryInterface $definition_disovery
    *   The library registry.
    * @param \Drupal\Component\Plugin\Factory\FactoryInterface $library_type_factory
    *   The library type factory.
-   * @param \Drupal\libraries\Extension\ExtensionHandlerInterface $extension_handler
-   *   The extension handler.
    */
   public function __construct(
     DefinitionDiscoveryInterface $definition_disovery,
-    FactoryInterface $library_type_factory,
-    ExtensionHandlerInterface $extension_handler
+    FactoryInterface $library_type_factory
   ) {
     $this->definitionDiscovery = $definition_disovery;
     $this->libraryTypeFactory = $library_type_factory;
-    $this->extensionHandler = $extension_handler;
   }
 
   /**
@@ -72,9 +60,11 @@ class LibraryManager implements LibraryManagerInterface {
    */
   public function getRequiredLibraryIds() {
     $library_ids = [];
-    foreach ($this->extensionHandler->getExtensions() as $extension) {
-      foreach ($extension->getLibraryDependencies() as $library_id) {
-        $library_ids[] = $library_id;
+    foreach (['module', 'theme'] as $type) {
+      foreach (system_get_info($type) as $info) {
+        if (isset($info['library_dependencies'])) {
+          $library_ids = array_merge($library_ids, $info['library_dependencies']);
+        }
       }
     }
     return array_unique($library_ids);
diff --git a/tests/src/Kernel/ExternalLibrary/Asset/AssetLibraryTestBase.php b/tests/src/Kernel/ExternalLibrary/Asset/AssetLibraryTestBase.php
index ae36632..4f835b7 100644
--- a/tests/src/Kernel/ExternalLibrary/Asset/AssetLibraryTestBase.php
+++ b/tests/src/Kernel/ExternalLibrary/Asset/AssetLibraryTestBase.php
@@ -12,8 +12,9 @@ abstract class AssetLibraryTestBase extends LibraryTypeKernelTestBase {
   /**
    * {@inheritdoc}
    *
-   * \Drupal\libraries\Extension requires system_get_info() which is in
-   * system.module.
+   * LibraryManager requires system_get_info() which is in system.module.
+   *
+   * @see \Drupal\libraries\ExternalLibrary\LibraryManager::getRequiredLibraryIds()
    */
   public static $modules = ['system'];
 
