diff --git a/core/authorize.php b/core/authorize.php
index 97fbe24..33a65fd 100644
--- a/core/authorize.php
+++ b/core/authorize.php
@@ -20,7 +20,7 @@
  * @link authorize Authorized operation helper functions @endlink
  */
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 // Change the directory to the Drupal root.
 chdir('..');
diff --git a/core/core.services.yml b/core/core.services.yml
index 90c40a9..6a3a93b 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -128,8 +128,8 @@ services:
       - { name: needs_destruction }
     arguments: ['@database']
   settings:
-    class: Drupal\Component\Utility\Settings
-    factory_class: Drupal\Component\Utility\Settings
+    class: Drupal\Core\Site\Settings
+    factory_class: Drupal\Core\Site\Settings
     factory_method: getInstance
   state:
     class: Drupal\Core\KeyValueStore\State
diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index a704ebf..b710f31 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -2,7 +2,7 @@
 
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\NestedArray;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Timer;
 use Drupal\Component\Utility\Unicode;
diff --git a/core/includes/common.inc b/core/includes/common.inc
index 44cafd1..1ed4e15 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -3,7 +3,7 @@
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\Json;
 use Drupal\Component\Utility\Number;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\SortArray;
 use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Tags;
diff --git a/core/includes/database.inc b/core/includes/database.inc
index 0197377..b53a427 100644
--- a/core/includes/database.inc
+++ b/core/includes/database.inc
@@ -1,6 +1,6 @@
 <?php
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Database\Database;
 use Drupal\Core\Database\Query\Condition;
 
diff --git a/core/includes/file.inc b/core/includes/file.inc
index f141cc8..6058f15 100644
--- a/core/includes/file.inc
+++ b/core/includes/file.inc
@@ -7,7 +7,7 @@
 
 use Drupal\Core\StreamWrapper\LocalStream;
 use Drupal\Component\PhpStorage\FileStorage;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\String;
 use Drupal\Core\StreamWrapper\PublicStream;
 
diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index aa158a2..39afc37 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -3,7 +3,7 @@
 use Drupal\Component\Utility\UserAgent;
 use Drupal\Component\Utility\Crypt;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Config\FileStorage;
 use Drupal\Core\DrupalKernel;
 use Drupal\Core\Database\Database;
diff --git a/core/includes/install.inc b/core/includes/install.inc
index e7e5206..fd4b01e 100644
--- a/core/includes/install.inc
+++ b/core/includes/install.inc
@@ -8,7 +8,7 @@
 use Symfony\Component\HttpFoundation\RedirectResponse;
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\OpCodeCache;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Database\Database;
 use Drupal\Core\DrupalKernel;
 use Drupal\Core\Extension\ExtensionDiscovery;
diff --git a/core/includes/mail.inc b/core/includes/mail.inc
index 8c8b071..5e5777b 100644
--- a/core/includes/mail.inc
+++ b/core/includes/mail.inc
@@ -6,7 +6,7 @@
  */
 
 use Drupal\Component\Utility\Html;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\Xss;
 
 /**
diff --git a/core/includes/session.inc b/core/includes/session.inc
index 76aa83b..87be666 100644
--- a/core/includes/session.inc
+++ b/core/includes/session.inc
@@ -6,7 +6,7 @@
  */
 
 use Drupal\Component\Utility\Crypt;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Session\AnonymousUserSession;
 use Drupal\Core\Session\SessionHandler;
 
diff --git a/core/includes/theme.maintenance.inc b/core/includes/theme.maintenance.inc
index 57183d6..b903149 100644
--- a/core/includes/theme.maintenance.inc
+++ b/core/includes/theme.maintenance.inc
@@ -6,7 +6,7 @@
  */
 
 use Drupal\Component\Utility\Unicode;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Sets up the theming system for maintenance page.
diff --git a/core/includes/update.inc b/core/includes/update.inc
index 9aa35bf..87a90d6 100644
--- a/core/includes/update.inc
+++ b/core/includes/update.inc
@@ -9,7 +9,7 @@
  */
 
 use Drupal\Component\Graph\Graph;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\String;
 use Drupal\Core\Config\FileStorage;
 use Drupal\Core\Config\ConfigException;
diff --git a/core/lib/Drupal/Component/Diff/DiffEngine.php b/core/lib/Drupal/Component/Diff/DiffEngine.php
index 21d9ad4..1a4a7d2 100644
--- a/core/lib/Drupal/Component/Diff/DiffEngine.php
+++ b/core/lib/Drupal/Component/Diff/DiffEngine.php
@@ -8,7 +8,7 @@
  * You may copy this code freely under the conditions of the GPL.
  */
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Unicode;
 
diff --git a/core/lib/Drupal/Component/PhpStorage/PhpStorageFactory.php b/core/lib/Drupal/Component/PhpStorage/PhpStorageFactory.php
index 3eb1698..1310741 100644
--- a/core/lib/Drupal/Component/PhpStorage/PhpStorageFactory.php
+++ b/core/lib/Drupal/Component/PhpStorage/PhpStorageFactory.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Component\PhpStorage;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\StreamWrapper\PublicStream;
 
 /**
diff --git a/core/lib/Drupal/Core/Authentication/Provider/Cookie.php b/core/lib/Drupal/Core/Authentication/Provider/Cookie.php
index 1a7b256..7ab84fc 100644
--- a/core/lib/Drupal/Core/Authentication/Provider/Cookie.php
+++ b/core/lib/Drupal/Core/Authentication/Provider/Cookie.php
@@ -8,7 +8,7 @@
 namespace Drupal\Core\Authentication\Provider;
 
 use Drupal\Core\Authentication\AuthenticationProviderInterface;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
 
diff --git a/core/lib/Drupal/Core/Cache/CacheFactory.php b/core/lib/Drupal/Core/Cache/CacheFactory.php
index 7f061e5..8906ab0 100644
--- a/core/lib/Drupal/Core/Cache/CacheFactory.php
+++ b/core/lib/Drupal/Core/Cache/CacheFactory.php
@@ -10,7 +10,7 @@
 /**
  * Defines the cache backend factory.
  */
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\DependencyInjection\ContainerAware;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 
@@ -19,14 +19,14 @@ class CacheFactory extends ContainerAware implements CacheFactoryInterface {
   /**
    * The settings array.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * Constructs CacheFactory object.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings array.
    */
   function __construct(Settings $settings) {
diff --git a/core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php b/core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php
index e075261..6c45ed1 100644
--- a/core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php
+++ b/core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\Config;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Defines a factory for retrieving the config storage used pre-kernel.
diff --git a/core/lib/Drupal/Core/CoreServiceProvider.php b/core/lib/Drupal/Core/CoreServiceProvider.php
index 184c767..4cd4de8 100644
--- a/core/lib/Drupal/Core/CoreServiceProvider.php
+++ b/core/lib/Drupal/Core/CoreServiceProvider.php
@@ -8,7 +8,7 @@
 namespace Drupal\Core;
 
 use Drupal\Core\Cache\CacheContextsPass;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Cache\ListCacheBinsPass;
 use Drupal\Core\Config\ConfigFactoryOverridePass;
 use Drupal\Core\DependencyInjection\ServiceProviderInterface;
diff --git a/core/lib/Drupal/Core/EventSubscriber/ReverseProxySubscriber.php b/core/lib/Drupal/Core/EventSubscriber/ReverseProxySubscriber.php
index cf0003d..330d6f0 100644
--- a/core/lib/Drupal/Core/EventSubscriber/ReverseProxySubscriber.php
+++ b/core/lib/Drupal/Core/EventSubscriber/ReverseProxySubscriber.php
@@ -10,7 +10,7 @@
 use Symfony\Component\HttpKernel\KernelEvents;
 use Symfony\Component\HttpKernel\Event\GetResponseEvent;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Reverse proxy subscriber for controller requests.
@@ -20,14 +20,14 @@ class ReverseProxySubscriber implements EventSubscriberInterface {
   /**
    * A settings object.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * Construct the ReverseProxySubscriber.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The read-only settings object of this request.
    */
   public function __construct(Settings $settings) {
diff --git a/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php b/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
index 4873bac..ee42761 100644
--- a/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
+++ b/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\Extension;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Extension\Discovery\RecursiveExtensionFilterIterator;
 
 /**
diff --git a/core/lib/Drupal/Core/Form/FormBuilder.php b/core/lib/Drupal/Core/Form/FormBuilder.php
index aa8369a..3dfe2e2 100644
--- a/core/lib/Drupal/Core/Form/FormBuilder.php
+++ b/core/lib/Drupal/Core/Form/FormBuilder.php
@@ -9,7 +9,7 @@
 
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\NestedArray;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\Unicode;
 use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\Access\CsrfTokenGenerator;
diff --git a/core/lib/Drupal/Core/KeyValueStore/KeyValueFactory.php b/core/lib/Drupal/Core/KeyValueStore/KeyValueFactory.php
index a1a9d65..1c172b5 100644
--- a/core/lib/Drupal/Core/KeyValueStore/KeyValueFactory.php
+++ b/core/lib/Drupal/Core/KeyValueStore/KeyValueFactory.php
@@ -6,7 +6,7 @@
  */
 
 namespace Drupal\Core\KeyValueStore;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -52,14 +52,14 @@ class KeyValueFactory implements KeyValueFactoryInterface {
   /**
    * The read-only settings container.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
    *   The service container.
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *  The read-only settings container.
    */
   function __construct(ContainerInterface $container, Settings $settings) {
diff --git a/core/lib/Drupal/Core/Mail/Plugin/Mail/PhpMail.php b/core/lib/Drupal/Core/Mail/Plugin/Mail/PhpMail.php
index 874f246..6a64fe2 100644
--- a/core/lib/Drupal/Core/Mail/Plugin/Mail/PhpMail.php
+++ b/core/lib/Drupal/Core/Mail/Plugin/Mail/PhpMail.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\Mail\Plugin\Mail;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Mail\MailInterface;
 
 /**
diff --git a/core/lib/Drupal/Core/Queue/QueueFactory.php b/core/lib/Drupal/Core/Queue/QueueFactory.php
index 114123f..a93a473 100644
--- a/core/lib/Drupal/Core/Queue/QueueFactory.php
+++ b/core/lib/Drupal/Core/Queue/QueueFactory.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\Queue;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\DependencyInjection\ContainerAware;
 
 /**
@@ -25,7 +25,7 @@ class QueueFactory extends ContainerAware {
   /**
    * The settings object.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
diff --git a/core/lib/Drupal/Core/Routing/UrlGenerator.php b/core/lib/Drupal/Core/Routing/UrlGenerator.php
index 2402708..daf2a91 100644
--- a/core/lib/Drupal/Core/Routing/UrlGenerator.php
+++ b/core/lib/Drupal/Core/Routing/UrlGenerator.php
@@ -15,7 +15,7 @@
 
 use Symfony\Cmf\Component\Routing\ProviderBasedGenerator;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\PathProcessor\OutboundPathProcessorInterface;
@@ -86,7 +86,7 @@ class UrlGenerator extends ProviderBasedGenerator implements UrlGeneratorInterfa
    *   The route processor.
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config
    *    The config factory.
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *    The read only settings.
    * @param \Symfony\Component\HttpKernel\Log\LoggerInterface $logger
    *   An optional logger for recording errors.
diff --git a/core/lib/Drupal/Component/Utility/Settings.php b/core/lib/Drupal/Core/Site/Settings.php
similarity index 93%
rename from core/lib/Drupal/Component/Utility/Settings.php
rename to core/lib/Drupal/Core/Site/Settings.php
index 2b34090..950ccd4 100644
--- a/core/lib/Drupal/Component/Utility/Settings.php
+++ b/core/lib/Drupal/Core/Site/Settings.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\Component\Utility\Settings.
+ * Contains \Drupal\Core\Site\Settings.
  */
 
-namespace Drupal\Component\Utility;
+namespace Drupal\Core\Site;
 
 /**
  * Read only settings that are initialized with the class.
@@ -24,7 +24,7 @@
   /**
    * Singleton instance.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   private static $instance;
 
@@ -34,7 +34,7 @@
    * A singleton is used because this class is used before the container is
    * available.
    *
-   * @return \Drupal\Component\Utility\Settings
+   * @return \Drupal\Core\Site\Settings
    */
   public static function getInstance() {
     return self::$instance;
diff --git a/core/lib/Drupal/Core/StreamWrapper/PublicStream.php b/core/lib/Drupal/Core/StreamWrapper/PublicStream.php
index 8f798f5..edf7eb4 100644
--- a/core/lib/Drupal/Core/StreamWrapper/PublicStream.php
+++ b/core/lib/Drupal/Core/StreamWrapper/PublicStream.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\StreamWrapper;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Defines a Drupal public (public://) stream wrapper class.
diff --git a/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php b/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php
index 0b564fc..8decfde 100644
--- a/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php
+++ b/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\StringTranslation\Translator;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * String translator using overrides from variables.
@@ -20,14 +20,14 @@ class CustomStrings extends StaticTranslation {
   /**
    * The settings read only object.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * Constructs a CustomStrings object.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings read only object.
    */
   public function __construct(Settings $settings) {
diff --git a/core/lib/Drupal/Core/Template/TwigNodeTrans.php b/core/lib/Drupal/Core/Template/TwigNodeTrans.php
index 2ff3b08..e998394 100644
--- a/core/lib/Drupal/Core/Template/TwigNodeTrans.php
+++ b/core/lib/Drupal/Core/Template/TwigNodeTrans.php
@@ -14,7 +14,7 @@
 
 namespace Drupal\Core\Template;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\Unicode;
 
 /**
diff --git a/core/modules/language/lib/Drupal/language/HttpKernel/PathProcessorLanguage.php b/core/modules/language/lib/Drupal/language/HttpKernel/PathProcessorLanguage.php
index f426805..0b88ee6 100644
--- a/core/modules/language/lib/Drupal/language/HttpKernel/PathProcessorLanguage.php
+++ b/core/modules/language/lib/Drupal/language/HttpKernel/PathProcessorLanguage.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\language\HttpKernel;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\PathProcessor\InboundPathProcessorInterface;
@@ -69,7 +69,7 @@ class PathProcessorLanguage implements InboundPathProcessorInterface, OutboundPa
    *
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config
    *   A config factory object for retrieving configuration settings.
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings instance.
    * @param \Drupal\language\ConfigurableLanguageManagerInterface $language_manager
    *   The configurable language manager.
diff --git a/core/modules/language/lib/Drupal/language/LanguageNegotiator.php b/core/modules/language/lib/Drupal/language/LanguageNegotiator.php
index 7841bab..685315e 100644
--- a/core/modules/language/lib/Drupal/language/LanguageNegotiator.php
+++ b/core/modules/language/lib/Drupal/language/LanguageNegotiator.php
@@ -8,7 +8,7 @@
 namespace Drupal\language;
 
 use Drupal\Component\Plugin\PluginManagerInterface;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Language\LanguageManagerInterface;
 use Drupal\Core\Session\AccountInterface;
@@ -43,7 +43,7 @@ class LanguageNegotiator implements LanguageNegotiatorInterface {
   /**
    * The settings instance.
    *
-   * @return \Drupal\Component\Utility\Settings
+   * @return \Drupal\Core\Site\Settings
    */
   protected $settings;
 
@@ -84,7 +84,7 @@ class LanguageNegotiator implements LanguageNegotiatorInterface {
    *   The language negotiation methods plugin manager
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
    *   The configuration factory.
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings instance.
    */
   public function __construct(ConfigurableLanguageManagerInterface $language_manager, PluginManagerInterface $negotiator_manager, ConfigFactoryInterface $config_factory, Settings $settings) {
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php b/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php
index 7737cc8..e0cb186 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php
@@ -241,8 +241,8 @@ public function containerBuild(ContainerBuilder $container) {
       // together here, it still might a keyvalue storage for anything using
       // \Drupal::state() -- that's why a memory service was added in the first
       // place.
-      $container->register('settings', 'Drupal\Component\Utility\Settings')
-        ->setFactoryClass('Drupal\Component\Utility\Settings')
+      $container->register('settings', 'Drupal\Core\Site\Settings')
+        ->setFactoryClass('Drupal\Core\Site\Settings')
         ->setFactoryMethod('getInstance');
 
       $container
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php b/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
index 6558f20..7a884aa 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
@@ -9,7 +9,7 @@
 
 use Drupal\Component\Utility\Random;
 use Drupal\Core\Database\Database;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\String;
 use Drupal\Core\Config\ConfigImporter;
 use Drupal\Core\Config\StorageComparer;
@@ -1341,7 +1341,7 @@ protected function exceptionHandler($exception) {
    * @param $value
    *   The value of the setting.
    *
-   * @see \Drupal\Component\Utility\Settings::get()
+   * @see \Drupal\Core\Site\Settings::get()
    */
   protected function settingsSet($name, $value) {
     $settings = Settings::getAll();
diff --git a/core/modules/system/lib/Drupal/system/Tests/DrupalKernel/DrupalKernelTest.php b/core/modules/system/lib/Drupal/system/Tests/DrupalKernel/DrupalKernelTest.php
index aaf9612..ae4990e 100644
--- a/core/modules/system/lib/Drupal/system/Tests/DrupalKernel/DrupalKernelTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/DrupalKernel/DrupalKernelTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\system\Tests\DrupalKernel;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\DrupalKernel;
 use Drupal\simpletest\DrupalUnitTestBase;
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedCopyTest.php b/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedCopyTest.php
index ee8afff..ecd1310 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedCopyTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedCopyTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\system\Tests\File;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Unmanaged copy related tests.
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedMoveTest.php b/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedMoveTest.php
index 60e6bbe..86a9330 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedMoveTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedMoveTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\system\Tests\File;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Unmanaged move related tests.
diff --git a/core/modules/system/lib/Drupal/system/Tests/KeyValueStore/StorageTestBase.php b/core/modules/system/lib/Drupal/system/Tests/KeyValueStore/StorageTestBase.php
index 4b48cfb..396f028 100644
--- a/core/modules/system/lib/Drupal/system/Tests/KeyValueStore/StorageTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/KeyValueStore/StorageTestBase.php
@@ -52,8 +52,8 @@ protected function setUp() {
       ->register('service_container', 'Symfony\Component\DependencyInjection\ContainerBuilder')
       ->setSynthetic(TRUE);
     $this->container->set('service_container', $this->container);
-    $this->container->register('settings', 'Drupal\Component\Utility\Settings')
-      ->setFactoryClass('Drupal\Component\Utility\Settings')
+    $this->container->register('settings', 'Drupal\Core\Site\Settings')
+      ->setFactoryClass('Drupal\Core\Site\Settings')
       ->setFactoryMethod('getInstance');
     $this->container
       ->register('keyvalue', 'Drupal\Core\KeyValueStore\KeyValueFactory')
diff --git a/core/modules/system/lib/Drupal/system/Tests/Mail/HtmlToTextTest.php b/core/modules/system/lib/Drupal/system/Tests/Mail/HtmlToTextTest.php
index 0f6f6aa..d49deac 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Mail/HtmlToTextTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Mail/HtmlToTextTest.php
@@ -8,7 +8,7 @@
 namespace Drupal\system\Tests\Mail;
 
 use Drupal\simpletest\WebTestBase;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Tests for drupal_html_to_text().
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/SettingsRewriteTest.php b/core/modules/system/lib/Drupal/system/Tests/System/SettingsRewriteTest.php
index cf047ad..47f3a80 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/SettingsRewriteTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/SettingsRewriteTest.php
@@ -8,7 +8,7 @@
 namespace Drupal\system\Tests\System;
 
 use Drupal\simpletest\UnitTestBase;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Tests the drupal_rewrite_settings() function.
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index ca5d128..fe4c559 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -9,7 +9,7 @@
 use Drupal\Core\Database\Database;
 use Drupal\Core\Language\Language;
 use Drupal\Core\StreamWrapper\PublicStream;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Implements hook_requirements().
diff --git a/core/modules/update/lib/Drupal/update/Access/UpdateManagerAccessCheck.php b/core/modules/update/lib/Drupal/update/Access/UpdateManagerAccessCheck.php
index 89bbb1d..bdf6e77 100644
--- a/core/modules/update/lib/Drupal/update/Access/UpdateManagerAccessCheck.php
+++ b/core/modules/update/lib/Drupal/update/Access/UpdateManagerAccessCheck.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\update\Access;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Routing\Access\AccessInterface;
 use Drupal\Core\Session\AccountInterface;
 use Symfony\Component\Routing\Route;
@@ -21,14 +21,14 @@ class UpdateManagerAccessCheck implements AccessInterface {
   /**
    * Settings Service.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * Constructs a UpdateManagerAccessCheck object.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The read-only settings container.
    */
   public function __construct(Settings $settings) {
diff --git a/core/modules/update/update.module b/core/modules/update/update.module
index db3b893..548ee63 100644
--- a/core/modules/update/update.module
+++ b/core/modules/update/update.module
@@ -11,7 +11,7 @@
  * ability to install contributed modules and themes via an user interface.
  */
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 // These are internally used constants for this code, do not modify.
 
diff --git a/core/rebuild.php b/core/rebuild.php
index 382387c..3e8ed12 100644
--- a/core/rebuild.php
+++ b/core/rebuild.php
@@ -11,7 +11,7 @@
  */
 
 use Drupal\Component\Utility\Crypt;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 // Change the directory to the Drupal root.
 chdir('..');
diff --git a/core/scripts/rebuild_token_calculator.sh b/core/scripts/rebuild_token_calculator.sh
index c206e0b..729d34d 100755
--- a/core/scripts/rebuild_token_calculator.sh
+++ b/core/scripts/rebuild_token_calculator.sh
@@ -11,7 +11,7 @@
 require_once dirname(__DIR__) . '/includes/bootstrap.inc';
 
 use Drupal\Component\Utility\Crypt;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
 
diff --git a/core/scripts/run-tests.sh b/core/scripts/run-tests.sh
index 1f09534..f09c621 100755
--- a/core/scripts/run-tests.sh
+++ b/core/scripts/run-tests.sh
@@ -5,7 +5,7 @@
  * This script runs Drupal tests from command line.
  */
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Component\Utility\Timer;
 use Drupal\Core\Database\Database;
 use Drupal\Core\DrupalKernel;
diff --git a/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php b/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php
index cb4c810..c2d0f3d 100644
--- a/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php
+++ b/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Tests\Component\PhpStorage;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Tests the simple file storage.
diff --git a/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageBase.php b/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageBase.php
index 062b857..462e0ff 100644
--- a/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageBase.php
+++ b/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageBase.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Tests\Component\PhpStorage;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Base test class for MTime protected storage.
diff --git a/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageTest.php b/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageTest.php
index 58cd7ca..8e7d7c2 100644
--- a/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageTest.php
+++ b/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageTest.php
@@ -7,6 +7,8 @@
 
 namespace Drupal\Tests\Component\PhpStorage;
 
+use Drupal\Core\Site\Settings;
+
 /**
  * Tests the directory mtime based PHP loader implementation.
  */
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php
index e62befe..803206c 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Tests\Core\EventSubscriber;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\EventSubscriber\ReverseProxySubscriber;
 use Drupal\Tests\UnitTestCase;
 
@@ -73,7 +73,7 @@ public function testReverseProxyEnabled() {
    * \Symfony\Component\HttpFoundation\Request::setTrustedProxies() should
    * always be called when reverse proxy settings are enabled.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings object that holds reverse proxy configuration.
    */
   protected function trustedHeadersAreSet(Settings $settings) {
diff --git a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php
index 9197085..c5f5605 100644
--- a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php
+++ b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Tests\Core\PathProcessor;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Language\Language;
 use Drupal\Core\PathProcessor\PathProcessorAlias;
 use Drupal\Core\PathProcessor\PathProcessorDecode;
diff --git a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
index d1c59c9..39fb795 100644
--- a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Tests\Core\Routing;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\PathProcessor\PathProcessorAlias;
 use Drupal\Core\PathProcessor\PathProcessorManager;
 use Drupal\Core\Routing\UrlGenerator;
diff --git a/core/tests/Drupal/Tests/Component/Utility/SettingsTest.php b/core/tests/Drupal/Tests/Core/Site/SettingsTest.php
similarity index 69%
rename from core/tests/Drupal/Tests/Component/Utility/SettingsTest.php
rename to core/tests/Drupal/Tests/Core/Site/SettingsTest.php
index 1c913c9..541cbe8 100644
--- a/core/tests/Drupal/Tests/Component/Utility/SettingsTest.php
+++ b/core/tests/Drupal/Tests/Core/Site/SettingsTest.php
@@ -2,18 +2,18 @@
 
 /**
  * @file
- * Contains \Drupal\Tests\Component\Utility\SettingsTest.php
+ * Contains \Drupal\Tests\Core\Site\SettingsTest.
  */
 
-namespace Drupal\Tests\Component\Utility;
+namespace Drupal\Tests\Core\Site;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests read only settings.
+ * Tests read-only settings.
  *
- * @see \Drupal\Component\Utility\Settings
+ * @coversDefaultClass \Drupal\Core\Site\Settings
  */
 class SettingsTest extends UnitTestCase {
 
@@ -25,34 +25,36 @@ class SettingsTest extends UnitTestCase {
   protected $config = array();
 
   /**
-   * The settings object to test.
+   * The class under test.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
+  /**
+   * {@inheritdoc}
+   */
   public static function getInfo() {
     return array(
-      'name' => 'Read-only settings test',
-      'description' => 'Confirm that \Drupal\Component\Utility\Settings is working.',
+      'name' => '\Drupal\Core\Site\Settings unit test',
+      'description' => '',
       'group' => 'Common',
     );
   }
 
   /**
-   * Setup a basic configuration array.
+   * @covers ::__construct
    */
   public function setUp(){
     $this->config = array(
       'one' => '1',
       'two' => '2',
     );
-
     $this->settings = new Settings($this->config);
   }
 
   /**
-   * Tests Settings::get().
+   * @covers ::get
    */
   public function testGet() {
     // Test stored settings.
@@ -65,16 +67,16 @@ public function testGet() {
   }
 
   /**
-   * Test Settings::getAll().
+   * @covers ::getAll
    */
   public function testGetAll() {
     $this->assertEquals($this->config, Settings::getAll());
   }
 
   /**
-   * Tests Settings::getInstance().
+   * @covers ::getInstance
    */
-  public function testGetSingleton() {
+  public function testGetInstance() {
     $singleton = $this->settings->getInstance();
     $this->assertEquals($singleton, $this->settings);
   }
diff --git a/core/update.php b/core/update.php
index 45904a2..534cd6e 100644
--- a/core/update.php
+++ b/core/update.php
@@ -14,7 +14,7 @@
  * back to its original state!
  */
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\DrupalKernel;
 use Drupal\Core\Update\Form\UpdateScriptSelectionForm;
 use Symfony\Component\HttpFoundation\Request;
diff --git a/index.php b/index.php
index 4916a6c..a453ecc 100644
--- a/index.php
+++ b/index.php
@@ -8,6 +8,8 @@
  * See COPYRIGHT.txt and LICENSE.txt files in the "core" directory.
  */
 
+use Drupal\Core\Site\Settings;
+
 require_once __DIR__ . '/core/vendor/autoload.php';
 require_once __DIR__ . '/core/includes/bootstrap.inc';
 
@@ -16,7 +18,7 @@
 }
 catch (Exception $e) {
   $message = 'If you have just changed code (for example deployed a new module or moved an existing one) read <a href="http://drupal.org/documentation/rebuild">http://drupal.org/documentation/rebuild</a>';
-  if (\Drupal\Component\Utility\Settings::get('rebuild_access', FALSE)) {
+  if (Settings::get('rebuild_access', FALSE)) {
     $rebuild_path = $GLOBALS['base_url'] . '/rebuild.php';
     $message .= " or run the <a href=\"$rebuild_path\">rebuild script</a>";
   }
