diff --git a/core/lib/Drupal/Core/Controller/ControllerBase.php b/core/lib/Drupal/Core/Controller/ControllerBase.php
index 618bfee..d16fccf 100644
--- a/core/lib/Drupal/Core/Controller/ControllerBase.php
+++ b/core/lib/Drupal/Core/Controller/ControllerBase.php
@@ -7,6 +7,8 @@
 
 namespace Drupal\Core\Controller;
 
+use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\RedirectResponse;
 
 /**
@@ -28,7 +30,7 @@
  *
  * @see \Drupal\Core\DependencyInjection\ContainerInjectionInterface
  */
-abstract class ControllerBase {
+abstract class ControllerBase implements ContainerInjectionInterface {
 
   /**
    * The entity manager.
@@ -94,6 +96,13 @@
   protected $moduleHandler;
 
   /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container) {
+    return new static();
+  }
+
+  /**
    * Retrieves the entity manager service.
    *
    * @return \Drupal\Core\Entity\EntityManagerInterface
diff --git a/core/lib/Drupal/Core/Entity/Controller/EntityViewController.php b/core/lib/Drupal/Core/Entity/Controller/EntityViewController.php
index d11e4a6..38e5424 100644
--- a/core/lib/Drupal/Core/Entity/Controller/EntityViewController.php
+++ b/core/lib/Drupal/Core/Entity/Controller/EntityViewController.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\Entity\Controller;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
+use Drupal\Core\Controller\ControllerBase;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityManagerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -15,33 +15,7 @@
 /**
  * Defines a generic controller to render a single entity.
  */
-class EntityViewController implements ContainerInjectionInterface {
-
-  /**
-   * The entity manager
-   *
-   * @var \Drupal\Core\Entity\EntityManagerInterface
-   */
-  protected $entityManager;
-
-  /**
-   * Creates an EntityListController object.
-   *
-   * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
-   *   The entity manager.
-   */
-  public function __construct(EntityManagerInterface $entity_manager) {
-    $this->entityManager = $entity_manager;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('entity.manager')
-    );
-  }
+class EntityViewController extends ControllerBase {
 
   /**
    * Provides a page to render a single entity.
@@ -61,7 +35,7 @@ public static function create(ContainerInterface $container) {
    *   A render array as expected by drupal_render().
    */
   public function view(EntityInterface $_entity, $view_mode = 'full', $langcode = NULL) {
-    return $this->entityManager
+    return $this->entityManager()
       ->getViewBuilder($_entity->entityType())
       ->view($_entity, $view_mode, $langcode);
   }
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php b/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
index f9b25b9..e327627 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
@@ -9,7 +9,6 @@
 
 use Drupal\Component\Utility\Xss;
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\aggregator\FeedInterface;
 use Drupal\aggregator\ItemInterface;
 use Drupal\Core\Database\Connection;
@@ -21,7 +20,7 @@
 /**
  * Returns responses for aggregator module routes.
  */
-class AggregatorController extends ControllerBase implements ContainerInjectionInterface {
+class AggregatorController extends ControllerBase {
 
   /**
    * The database connection.
diff --git a/core/modules/block/custom_block/lib/Drupal/custom_block/Controller/CustomBlockController.php b/core/modules/block/custom_block/lib/Drupal/custom_block/Controller/CustomBlockController.php
index 6469baf..5f6c211 100644
--- a/core/modules/block/custom_block/lib/Drupal/custom_block/Controller/CustomBlockController.php
+++ b/core/modules/block/custom_block/lib/Drupal/custom_block/Controller/CustomBlockController.php
@@ -9,13 +9,12 @@
 
 use Drupal\Component\Plugin\PluginManagerInterface;
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\EntityStorageControllerInterface;
 use Drupal\custom_block\CustomBlockTypeInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\Request;
 
-class CustomBlockController extends ControllerBase implements ContainerInjectionInterface {
+class CustomBlockController extends ControllerBase {
 
   /**
    * The entity manager.
diff --git a/core/modules/comment/lib/Drupal/comment/Controller/AdminController.php b/core/modules/comment/lib/Drupal/comment/Controller/AdminController.php
index 7378585..a386c0d 100644
--- a/core/modules/comment/lib/Drupal/comment/Controller/AdminController.php
+++ b/core/modules/comment/lib/Drupal/comment/Controller/AdminController.php
@@ -11,7 +11,6 @@
 use Drupal\field\FieldInfo;
 use Drupal\Component\Utility\String;
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Form\FormBuilderInterface;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -19,7 +18,7 @@
 /**
  * Returns responses for comment module administrative routes.
  */
-class AdminController extends ControllerBase implements ContainerInjectionInterface {
+class AdminController extends ControllerBase {
 
   /**
    * The field info service.
diff --git a/core/modules/comment/lib/Drupal/comment/Controller/CommentController.php b/core/modules/comment/lib/Drupal/comment/Controller/CommentController.php
index 15f09a7..0bcb021 100644
--- a/core/modules/comment/lib/Drupal/comment/Controller/CommentController.php
+++ b/core/modules/comment/lib/Drupal/comment/Controller/CommentController.php
@@ -12,7 +12,6 @@
 use Drupal\field\FieldInfo;
 use Drupal\Core\Controller\ControllerBase;
 use Drupal\Core\Entity\EntityInterface;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\JsonResponse;
 use Symfony\Component\HttpFoundation\RedirectResponse;
@@ -26,7 +25,7 @@
  *
  * @see \Drupal\comment\Entity\Comment.
  */
-class CommentController extends ControllerBase implements ContainerInjectionInterface {
+class CommentController extends ControllerBase {
 
   /**
    * The HTTP kernel.
diff --git a/core/modules/comment/lib/Drupal/comment/Form/ConfirmDeleteMultiple.php b/core/modules/comment/lib/Drupal/comment/Form/ConfirmDeleteMultiple.php
index b791b30..0de4b8b 100644
--- a/core/modules/comment/lib/Drupal/comment/Form/ConfirmDeleteMultiple.php
+++ b/core/modules/comment/lib/Drupal/comment/Form/ConfirmDeleteMultiple.php
@@ -10,14 +10,13 @@
 use Drupal\comment\CommentStorageControllerInterface;
 use Drupal\Component\Utility\String;
 use Drupal\Core\Cache\Cache;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Form\ConfirmFormBase;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Provides the comment multiple delete confirmation form.
  */
-class ConfirmDeleteMultiple extends ConfirmFormBase implements ContainerInjectionInterface {
+class ConfirmDeleteMultiple extends ConfirmFormBase {
 
   /**
    * The comment storage.
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php
index 3eb0216..eb3be1c 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php
@@ -10,7 +10,6 @@
 use Drupal\config_translation\ConfigMapperManagerInterface;
 use Drupal\Core\Access\AccessManager;
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Language\Language;
 use Drupal\Core\PathProcessor\InboundPathProcessorInterface;
 use Drupal\Core\Session\AccountInterface;
@@ -24,7 +23,7 @@
 /**
  * Provides page callbacks for the configuration translation interface.
  */
-class ConfigTranslationController extends ControllerBase implements ContainerInjectionInterface {
+class ConfigTranslationController extends ControllerBase {
 
   /**
    * The configuration mapper manager.
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationListController.php b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationListController.php
index 14bd763..42b2f6f 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationListController.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationListController.php
@@ -9,14 +9,13 @@
 
 use Drupal\config_translation\ConfigMapperManagerInterface;
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 
 /**
  * Defines the configuration translation list controller.
  */
-class ConfigTranslationListController extends ControllerBase implements ContainerInjectionInterface {
+class ConfigTranslationListController extends ControllerBase {
 
   /**
    * The definition of the config mapper.
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationMapperList.php b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationMapperList.php
index b2242fd..8b7f63f 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationMapperList.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationMapperList.php
@@ -10,7 +10,6 @@
 use Drupal\Component\Utility\String;
 use Drupal\config_translation\ConfigMapperInterface;
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -18,7 +17,7 @@
  *
  * Groups all defined configuration mapper instances by weight.
  */
-class ConfigTranslationMapperList extends ControllerBase implements ContainerInjectionInterface {
+class ConfigTranslationMapperList extends ControllerBase {
 
   /**
    * A array of configuration mapper instances.
diff --git a/core/modules/contact/lib/Drupal/contact/Controller/ContactController.php b/core/modules/contact/lib/Drupal/contact/Controller/ContactController.php
index ff5f71d..213cae4 100644
--- a/core/modules/contact/lib/Drupal/contact/Controller/ContactController.php
+++ b/core/modules/contact/lib/Drupal/contact/Controller/ContactController.php
@@ -8,7 +8,6 @@
 namespace Drupal\contact\Controller;
 
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Flood\FloodInterface;
 use Drupal\contact\CategoryInterface;
 use Drupal\user\UserInterface;
@@ -20,7 +19,7 @@
 /**
  * Controller routines for contact routes.
  */
-class ContactController extends ControllerBase implements ContainerInjectionInterface {
+class ContactController extends ControllerBase {
 
   /**
    * The flood service.
diff --git a/core/modules/dblog/lib/Drupal/dblog/Controller/DbLogController.php b/core/modules/dblog/lib/Drupal/dblog/Controller/DbLogController.php
index bc61820..9728f35 100644
--- a/core/modules/dblog/lib/Drupal/dblog/Controller/DbLogController.php
+++ b/core/modules/dblog/lib/Drupal/dblog/Controller/DbLogController.php
@@ -13,7 +13,6 @@
 use Drupal\Core\Controller\ControllerBase;
 use Drupal\Core\Database\Connection;
 use Drupal\Core\Datetime\Date;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Form\FormBuilderInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -21,7 +20,7 @@
 /**
  * Returns responses for dblog routes.
  */
-class DbLogController extends ControllerBase implements ContainerInjectionInterface {
+class DbLogController extends ControllerBase {
 
   /**
    * The database service.
diff --git a/core/modules/entity/lib/Drupal/entity/Controller/EntityDisplayModeController.php b/core/modules/entity/lib/Drupal/entity/Controller/EntityDisplayModeController.php
index e0f1d0f..ee224aa 100644
--- a/core/modules/entity/lib/Drupal/entity/Controller/EntityDisplayModeController.php
+++ b/core/modules/entity/lib/Drupal/entity/Controller/EntityDisplayModeController.php
@@ -7,40 +7,12 @@
 
 namespace Drupal\entity\Controller;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
-use Drupal\Core\Entity\EntityManagerInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Controller\ControllerBase;
 
 /**
  * Provides methods for entity display mode routes.
  */
-class EntityDisplayModeController implements ContainerInjectionInterface {
-
-  /**
-   * The entity manager.
-   *
-   * @var \Drupal\Core\Entity\EntityManagerInterface
-   */
-  protected $entityManager;
-
-  /**
-   * Constructs a new EntityDisplayModeFormBase.
-   *
-   * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
-   *   The entity manager.
-   */
-  public function __construct(EntityManagerInterface $entity_manager) {
-    $this->entityManager = $entity_manager;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('entity.manager')
-    );
-  }
+class EntityDisplayModeController extends ControllerBase {
 
   /**
    * Provides a list of eligible entity types for adding view modes.
@@ -50,7 +22,7 @@ public static function create(ContainerInterface $container) {
    */
   public function viewModeTypeSelection() {
     $entity_types = array();
-    foreach ($this->entityManager->getDefinitions() as $entity_type => $entity_info) {
+    foreach ($this->entityManager()->getDefinitions() as $entity_type => $entity_info) {
       if ($entity_info->isFieldable() && $entity_info->hasController('view_builder')) {
         $entity_types[$entity_type] = array(
           'title' => $entity_info->getLabel(),
@@ -73,7 +45,7 @@ public function viewModeTypeSelection() {
    */
   public function formModeTypeSelection() {
     $entity_types = array();
-    foreach ($this->entityManager->getDefinitions() as $entity_type => $entity_info) {
+    foreach ($this->entityManager()->getDefinitions() as $entity_type => $entity_info) {
       if ($entity_info->isFieldable() && $entity_info->hasController('form')) {
         $entity_types[$entity_type] = array(
           'title' => $entity_info->getLabel(),
diff --git a/core/modules/forum/lib/Drupal/forum/Controller/ForumController.php b/core/modules/forum/lib/Drupal/forum/Controller/ForumController.php
index 2372e71..9222d1b 100644
--- a/core/modules/forum/lib/Drupal/forum/Controller/ForumController.php
+++ b/core/modules/forum/lib/Drupal/forum/Controller/ForumController.php
@@ -7,11 +7,7 @@
 
 namespace Drupal\forum\Controller;
 
-use Drupal\Core\Config\Config;
-use Drupal\Core\Controller\ControllerInterface;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
-use Drupal\Core\Entity\EntityManagerInterface;
-use Drupal\Core\StringTranslation\TranslationInterface;
+use Drupal\Core\Controller\ControllerBase;
 use Drupal\forum\ForumManagerInterface;
 use Drupal\taxonomy\TermInterface;
 use Drupal\taxonomy\TermStorageControllerInterface;
@@ -21,7 +17,7 @@
 /**
  * Controller routines for forum routes.
  */
-class ForumController implements ContainerInjectionInterface {
+class ForumController extends ControllerBase {
 
   /**
    * Forum manager service.
@@ -31,20 +27,6 @@ class ForumController implements ContainerInjectionInterface {
   protected $forumManager;
 
   /**
-   * Entity Manager Service.
-   *
-   * @var \Drupal\Core\Entity\EntityManagerInterface
-   */
-  protected $entityManager;
-
-  /**
-   * Config object for forum.settings.
-   *
-   * @var \Drupal\Core\Config\Config
-   */
-  protected $config;
-
-  /**
    * Vocabulary storage controller.
    *
    * @var \Drupal\taxonomy\VocabularyStorageControllerInterface
@@ -59,35 +41,19 @@ class ForumController implements ContainerInjectionInterface {
   protected $termStorageController;
 
   /**
-   * Translation manager service.
-   *
-   * @var \Drupal\Core\StringTranslation\TranslationInterface
-   */
-  protected $translationManager;
-
-  /**
    * Constructs a ForumController object.
    *
-   * @param \Drupal\Core\Config\Config $config
-   *   Config object for forum.settings.
    * @param \Drupal\forum\ForumManagerInterface $forum_manager
    *   The forum manager service.
    * @param \Drupal\taxonomy\VocabularyStorageControllerInterface $vocabulary_storage_controller
    *   Vocabulary storage controller.
    * @param \Drupal\taxonomy\TermStorageControllerInterface $term_storage_controller
    *   Term storage controller.
-   * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
-   *   The entity manager service.
-   * @param \Drupal\Core\StringTranslation\TranslationInterface $translation_manager
-   *   The translation manager service.
    */
-  public function __construct(Config $config, ForumManagerInterface $forum_manager, VocabularyStorageControllerInterface $vocabulary_storage_controller, TermStorageControllerInterface $term_storage_controller, EntityManagerInterface $entity_manager, TranslationInterface $translation_manager) {
-    $this->config = $config;
+  public function __construct(ForumManagerInterface $forum_manager, VocabularyStorageControllerInterface $vocabulary_storage_controller, TermStorageControllerInterface $term_storage_controller) {
     $this->forumManager = $forum_manager;
     $this->vocabularyStorageController = $vocabulary_storage_controller;
     $this->termStorageController = $term_storage_controller;
-    $this->entityManager = $entity_manager;
-    $this->translationManager = $translation_manager;
   }
 
   /**
@@ -95,12 +61,9 @@ public function __construct(Config $config, ForumManagerInterface $forum_manager
    */
   public static function create(ContainerInterface $container) {
     return new static(
-      $container->get('config.factory')->get('forum.settings'),
       $container->get('forum_manager'),
       $container->get('entity.manager')->getStorageController('taxonomy_vocabulary'),
-      $container->get('entity.manager')->getStorageController('taxonomy_term'),
-      $container->get('entity.manager'),
-      $container->get('string_translation')
+      $container->get('entity.manager')->getStorageController('taxonomy_term')
     );
   }
 
@@ -115,7 +78,7 @@ public static function create(ContainerInterface $container) {
    */
   public function forumPage(TermInterface $taxonomy_term) {
     // Get forum details.
-    $taxonomy_term->forums = $this->forumManager->getChildren($this->config->get('vocabulary'), $taxonomy_term->id());
+    $taxonomy_term->forums = $this->forumManager->getChildren($this->config('forum.settings')->get('vocabulary'), $taxonomy_term->id());
     $taxonomy_term->parents = $this->forumManager->getParents($taxonomy_term->id());
 
     if (empty($taxonomy_term->forum_container->value)) {
@@ -134,7 +97,7 @@ public function forumPage(TermInterface $taxonomy_term) {
    *   A render array.
    */
   public function forumIndex() {
-    $vocabulary = $this->vocabularyStorageController->load($this->config->get('vocabulary'));
+    $vocabulary = $this->vocabularyStorageController->load($this->config('forum.settings')->get('vocabulary'));
     $index = $this->forumManager->getIndex();
     $build = $this->build($index->forums, $index);
     if (empty($index->forums)) {
@@ -164,14 +127,15 @@ public function forumIndex() {
    *   A render array.
    */
   protected function build($forums, TermInterface $term, $topics = array(), $parents = array()) {
+    $config = $this->config('forum.settings');
     $build = array(
       '#theme' => 'forums',
       '#forums' => $forums,
       '#topics' => $topics,
       '#parents' => $parents,
       '#term' => $term,
-      '#sortby' => $this->config->get('topics.order'),
-      '#forums_per_page' => $this->config->get('topics.page_limit'),
+      '#sortby' => $config->get('topics.order'),
+      '#forums_per_page' => $config->get('topics.page_limit'),
     );
     $build['#attached']['library'][] = array('forum', 'forum.index');
     if (empty($term->forum_container->value)) {
@@ -188,12 +152,12 @@ protected function build($forums, TermInterface $term, $topics = array(), $paren
    *   Render array for the add form.
    */
   public function addForum() {
-    $vid = $this->config->get('vocabulary');
+    $vid = $this->config('forum.settings')->get('vocabulary');
     $taxonomy_term = $this->termStorageController->create(array(
       'vid' => $vid,
       'forum_controller' => 0,
     ));
-    return $this->entityManager->getForm($taxonomy_term, 'forum');
+    return $this->entityManager()->getForm($taxonomy_term, 'forum');
   }
 
   /**
@@ -203,21 +167,12 @@ public function addForum() {
    *   Render array for the add form.
    */
   public function addContainer() {
-    $vid = $this->config->get('vocabulary');
+    $vid = $this->config('forum.settings')->get('vocabulary');
     $taxonomy_term = $this->termStorageController->create(array(
       'vid' => $vid,
       'forum_container' => 1,
     ));
-    return $this->entityManager->getForm($taxonomy_term, 'container');
-  }
-
-  /**
-   * Translates a string to the current language or to a given language.
-   *
-   * See the t() documentation for details.
-   */
-  protected function t($string, array $args = array(), array $options = array()) {
-    return $this->translationManager->translate($string, $args, $options);
+    return $this->entityManager()->getForm($taxonomy_term, 'container');
   }
 
 }
diff --git a/core/modules/help/lib/Drupal/help/Controller/HelpController.php b/core/modules/help/lib/Drupal/help/Controller/HelpController.php
index 7aac826..59cf945 100644
--- a/core/modules/help/lib/Drupal/help/Controller/HelpController.php
+++ b/core/modules/help/lib/Drupal/help/Controller/HelpController.php
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * @file
  * Contains \Drupal\help\Controller\HelpController.
@@ -6,40 +7,14 @@
 
 namespace Drupal\help\Controller;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
-use Drupal\Core\Extension\ModuleHandlerInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Controller\ControllerBase;
 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 use Drupal\Component\Utility\String;
 
 /**
  * Controller routines for help routes.
  */
-class HelpController implements ContainerInjectionInterface {
-
-  /**
-   * Stores the module handler.
-   *
-   * @var \Drupal\Core\Extension\ModuleHandlerInterface
-   */
-  protected $moduleHandler;
-
-  /**
-   * Constructs a \Drupal\help\Controller\HelpController object.
-   *
-   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
-   *   The module handler.
-   */
-  public function __construct(ModuleHandlerInterface $module_handler) {
-    $this->moduleHandler = $module_handler;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static($container->get('module_handler'));
-  }
+class HelpController extends ControllerBase {
 
   /**
    * Prints a page listing a glossary of Drupal terminology.
@@ -52,7 +27,7 @@ public function helpMain() {
       '#attached' => array(
         'css' => array(drupal_get_path('module', 'help') . '/css/help.module.css'),
       ),
-      '#markup' => '<h2>' . t('Help topics') . '</h2><p>' . t('Help is available on the following items:') . '</p>' . $this->helpLinksAsList(),
+      '#markup' => '<h2>' . $this->t('Help topics') . '</h2><p>' . $this->t('Help is available on the following items:') . '</p>' . $this->helpLinksAsList(),
     );
     return $output;
   }
@@ -68,8 +43,8 @@ protected function helpLinksAsList() {
     $module_info = system_rebuild_module_data();
 
     $modules = array();
-    foreach ($this->moduleHandler->getImplementations('help') as $module) {
-      if ($this->moduleHandler->invoke($module, 'help', array("admin/help#$module", $empty_arg))) {
+    foreach ($this->moduleHandler()->getImplementations('help') as $module) {
+      if ($this->moduleHandler()->invoke($module, 'help', array("admin/help#$module", $empty_arg))) {
         $modules[$module] = $module_info[$module]->info['name'];
       }
     }
@@ -81,7 +56,7 @@ protected function helpLinksAsList() {
     $output = '<div class="clearfix"><div class="help-items"><ul>';
     $i = 0;
     foreach ($modules as $module => $name) {
-      $output .= '<li>' . l($name, 'admin/help/' . $module) . '</li>';
+      $output .= '<li>' . $this->l($name, 'help.page',  array('name' => $module)) . '</li>';
       if (($i + 1) % $break == 0 && ($i + 1) != $count) {
         $output .= '</ul></div><div class="help-items' . ($i + 1 == $break * 3 ? ' help-items-last' : '') . '"><ul>';
       }
@@ -105,13 +80,13 @@ protected function helpLinksAsList() {
    */
   public function helpPage($name) {
     $build = array();
-    if ($this->moduleHandler->implementsHook($name, 'help')) {
+    if ($this->moduleHandler()->implementsHook($name, 'help')) {
       $info = system_get_info('module');
       $build['#title'] = String::checkPlain($info[$name]['name']);
 
-      $temp = $this->moduleHandler->invoke($name, 'help', array("admin/help#$name", drupal_help_arg()));
+      $temp = $this->moduleHandler()->invoke($name, 'help', array("admin/help#$name", drupal_help_arg()));
       if (empty($temp)) {
-        $build['top']['#markup'] = t('No help is available for module %module.', array('%module' => $info[$name]['name']));
+        $build['top']['#markup'] = $this->t('No help is available for module %module.', array('%module' => $info[$name]['name']));
       }
       else {
         $build['top']['#markup'] = $temp;
@@ -131,7 +106,7 @@ public function helpPage($name) {
         $build['links']['#links'] = array(
           '#heading' => array(
             'level' => 'h3',
-            'text' => t('@module administration pages', array('@module' => $info[$name]['name'])),
+            'text' => $this->t('@module administration pages', array('@module' => $info[$name]['name'])),
           ),
           '#links' => $links,
         );
diff --git a/core/modules/image/lib/Drupal/image/Controller/ImageStyleDownloadController.php b/core/modules/image/lib/Drupal/image/Controller/ImageStyleDownloadController.php
index 3c619ff..191a6c7 100644
--- a/core/modules/image/lib/Drupal/image/Controller/ImageStyleDownloadController.php
+++ b/core/modules/image/lib/Drupal/image/Controller/ImageStyleDownloadController.php
@@ -8,7 +8,6 @@
 namespace Drupal\image\Controller;
 
 use Drupal\Component\Utility\Crypt;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Image\ImageFactory;
 use Drupal\Core\Lock\LockBackendInterface;
 use Drupal\image\ImageStyleInterface;
@@ -23,7 +22,7 @@
 /**
  * Defines a controller to serve image styles.
  */
-class ImageStyleDownloadController extends FileDownloadController implements ContainerInjectionInterface {
+class ImageStyleDownloadController extends FileDownloadController {
 
   /**
    * The lock backend.
diff --git a/core/modules/image/lib/Drupal/image/Form/ImageEffectAddForm.php b/core/modules/image/lib/Drupal/image/Form/ImageEffectAddForm.php
index 32a72af..1efeab1 100644
--- a/core/modules/image/lib/Drupal/image/Form/ImageEffectAddForm.php
+++ b/core/modules/image/lib/Drupal/image/Form/ImageEffectAddForm.php
@@ -15,7 +15,7 @@
 /**
  * Provides an add form for image effects.
  */
-class ImageEffectAddForm extends ImageEffectFormBase implements ContainerInjectionInterface {
+class ImageEffectAddForm extends ImageEffectFormBase {
 
   /**
    * The image effect manager.
diff --git a/core/modules/menu/lib/Drupal/menu/Controller/MenuController.php b/core/modules/menu/lib/Drupal/menu/Controller/MenuController.php
index bcf65dc..65bba40 100644
--- a/core/modules/menu/lib/Drupal/menu/Controller/MenuController.php
+++ b/core/modules/menu/lib/Drupal/menu/Controller/MenuController.php
@@ -8,55 +8,15 @@
 namespace Drupal\menu\Controller;
 
 use Drupal\Component\Utility\Xss;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
-use Drupal\Core\Entity\EntityManagerInterface;
-use Drupal\menu_link\MenuLinkStorageControllerInterface;
+use Drupal\Core\Controller\ControllerBase;
 use Drupal\system\MenuInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\JsonResponse;
 use Symfony\Component\HttpFoundation\Request;
 
 /**
  * Returns responses for Menu routes.
  */
-class MenuController implements ContainerInjectionInterface {
-
-  /**
-   * The menu link storage.
-   *
-   * @var \Drupal\menu_link\MenuLinkStorageControllerInterface
-   */
-  protected $menuLinkStorage;
-
-  /**
-   * The entity manager.
-   *
-   * @var \Drupal\Core\Entity\EntityManagerInterface
-   */
-  protected $entityManager;
-
-  /**
-   * Constructs a new MenuController.
-   *
-   * @param \Drupal\menu_link\MenuLinkStorageControllerInterface $menu_link_storage
-   *   The storage controller.
-   * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
-   *   The entity manager.
-   */
-  public function __construct(MenuLinkStorageControllerInterface $menu_link_storage, EntityManagerInterface $entity_manager) {
-    $this->menuLinkStorage = $menu_link_storage;
-    $this->entityManager = $entity_manager;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('entity.manager')->getStorageController('menu_link'),
-      $container->get('entity.manager')
-    );
-  }
+class MenuController extends ControllerBase {
 
   /**
    * Gets all the available menus and menu items as a JavaScript array.
@@ -89,12 +49,12 @@ public function getParentOptions(Request $request) {
    *   Returns the menu link submission form.
    */
   public function addLink(MenuInterface $menu) {
-    $menu_link = $this->menuLinkStorage->create(array(
+    $menu_link = $this->entityManager()->getStorageController('menu_link')->create(array(
       'mlid' => 0,
       'plid' => 0,
       'menu_name' => $menu->id(),
     ));
-    return $this->entityManager->getForm($menu_link);
+    return $this->entityManager()->getForm($menu_link);
   }
 
   /**
diff --git a/core/modules/node/lib/Drupal/node/Form/DeleteMultiple.php b/core/modules/node/lib/Drupal/node/Form/DeleteMultiple.php
index 09ad79c..5f474d5 100644
--- a/core/modules/node/lib/Drupal/node/Form/DeleteMultiple.php
+++ b/core/modules/node/lib/Drupal/node/Form/DeleteMultiple.php
@@ -10,7 +10,6 @@
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\Core\Form\ConfirmFormBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Component\Utility\String;
 use Drupal\user\TempStoreFactory;
 use Symfony\Component\HttpFoundation\RedirectResponse;
@@ -19,7 +18,7 @@
 /**
  * Provides a node deletion confirmation form.
  */
-class DeleteMultiple extends ConfirmFormBase implements ContainerInjectionInterface {
+class DeleteMultiple extends ConfirmFormBase {
 
   /**
    * The array of nodes to delete.
diff --git a/core/modules/node/lib/Drupal/node/Form/NodeRevisionDeleteForm.php b/core/modules/node/lib/Drupal/node/Form/NodeRevisionDeleteForm.php
index 99edd0e..2f78b3c 100644
--- a/core/modules/node/lib/Drupal/node/Form/NodeRevisionDeleteForm.php
+++ b/core/modules/node/lib/Drupal/node/Form/NodeRevisionDeleteForm.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\node\Form;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Database\Connection;
 use Drupal\Core\Entity\EntityStorageControllerInterface;
 use Drupal\Core\Form\ConfirmFormBase;
@@ -17,7 +16,7 @@
 /**
  * Provides a form for reverting a node revision.
  */
-class NodeRevisionDeleteForm extends ConfirmFormBase implements ContainerInjectionInterface {
+class NodeRevisionDeleteForm extends ConfirmFormBase {
 
   /**
    * The node revision.
diff --git a/core/modules/node/lib/Drupal/node/Form/NodeRevisionRevertForm.php b/core/modules/node/lib/Drupal/node/Form/NodeRevisionRevertForm.php
index 12cb9e3..86eab4a 100644
--- a/core/modules/node/lib/Drupal/node/Form/NodeRevisionRevertForm.php
+++ b/core/modules/node/lib/Drupal/node/Form/NodeRevisionRevertForm.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\node\Form;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\EntityStorageControllerInterface;
 use Drupal\Core\Form\ConfirmFormBase;
 use Drupal\node\NodeInterface;
@@ -16,7 +15,7 @@
 /**
  * Provides a form for reverting a node revision.
  */
-class NodeRevisionRevertForm extends ConfirmFormBase implements ContainerInjectionInterface {
+class NodeRevisionRevertForm extends ConfirmFormBase {
 
   /**
    * The node revision.
diff --git a/core/modules/path/lib/Drupal/path/Form/DeleteForm.php b/core/modules/path/lib/Drupal/path/Form/DeleteForm.php
index a81174d..9c84de8 100644
--- a/core/modules/path/lib/Drupal/path/Form/DeleteForm.php
+++ b/core/modules/path/lib/Drupal/path/Form/DeleteForm.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\path\Form;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Form\ConfirmFormBase;
 use Drupal\Core\Path\Path;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -15,7 +14,7 @@
 /**
  * Builds the form to delete a path alias.
  */
-class DeleteForm extends ConfirmFormBase implements ContainerInjectionInterface {
+class DeleteForm extends ConfirmFormBase {
 
   /**
    * The path crud service.
diff --git a/core/modules/search/lib/Drupal/search/Controller/SearchController.php b/core/modules/search/lib/Drupal/search/Controller/SearchController.php
index 98dae2b..acfe6fa 100644
--- a/core/modules/search/lib/Drupal/search/Controller/SearchController.php
+++ b/core/modules/search/lib/Drupal/search/Controller/SearchController.php
@@ -8,7 +8,6 @@
 namespace Drupal\search\Controller;
 
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Form\FormBuilderInterface;
 use Drupal\search\SearchPluginManager;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -17,7 +16,7 @@
 /**
  * Route controller for search.
  */
-class SearchController extends ControllerBase implements ContainerInjectionInterface {
+class SearchController extends ControllerBase {
 
   /**
    * The search plugin manager.
diff --git a/core/modules/system/lib/Drupal/system/Controller/AdminController.php b/core/modules/system/lib/Drupal/system/Controller/AdminController.php
index 032eab0..7fe7c7b 100644
--- a/core/modules/system/lib/Drupal/system/Controller/AdminController.php
+++ b/core/modules/system/lib/Drupal/system/Controller/AdminController.php
@@ -7,40 +7,12 @@
 
 namespace Drupal\system\Controller;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
-use Drupal\Core\Extension\ModuleHandlerInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Controller\ControllerBase;
 
 /**
  * Controller for admin section.
  */
-class AdminController implements ContainerInjectionInterface {
-
-  /**
-   * Module handler service.
-   *
-   * @var \Drupal\Core\Extension\ModuleHandlerInterface
-   */
-  protected $moduleHandler;
-
-  /**
-   * Constructs an AdminController object.
-   *
-   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
-   *   Module Handler Service.
-   */
-  public function __construct(ModuleHandlerInterface $module_handler) {
-    $this->moduleHandler = $module_handler;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('module_handler')
-    );
-  }
+class AdminController extends ControllerBase {
 
   /**
    * Prints a listing of admin tasks, organized by module.
@@ -55,7 +27,7 @@ public function index() {
       $module_info[$module]->info = $info;
     }
 
-    $this->moduleHandler->loadInclude('system', 'admin.inc');
+    $this->moduleHandler()->loadInclude('system', 'admin.inc');
 
     uasort($module_info, 'system_sort_modules_by_info_name');
     $menu_items = array();
@@ -84,4 +56,5 @@ public function index() {
 
     return $output;
   }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Controller/SystemController.php b/core/modules/system/lib/Drupal/system/Controller/SystemController.php
index a51ae40..7b9397c 100644
--- a/core/modules/system/lib/Drupal/system/Controller/SystemController.php
+++ b/core/modules/system/lib/Drupal/system/Controller/SystemController.php
@@ -9,16 +9,14 @@
 
 use Drupal\Component\Utility\Json;
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\Query\QueryFactory;
 use Drupal\system\SystemManager;
 use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\HttpFoundation\RedirectResponse;
 
 /**
  * Returns responses for System routes.
  */
-class SystemController extends ControllerBase implements ContainerInjectionInterface {
+class SystemController extends ControllerBase {
 
   /**
    * The entity query factory object.
diff --git a/core/modules/system/lib/Drupal/system/Controller/ThemeController.php b/core/modules/system/lib/Drupal/system/Controller/ThemeController.php
index 852d2b6..ece04d5 100644
--- a/core/modules/system/lib/Drupal/system/Controller/ThemeController.php
+++ b/core/modules/system/lib/Drupal/system/Controller/ThemeController.php
@@ -7,9 +7,7 @@
 
 namespace Drupal\system\Controller;
 
-use Drupal\Core\Config\Config;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Controller\ControllerBase;
 use Symfony\Component\HttpFoundation\RedirectResponse;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
@@ -17,33 +15,7 @@
 /**
  * Controller for theme handling.
  */
-class ThemeController implements ContainerInjectionInterface {
-
-  /**
-   * The system.theme config object.
-   *
-   * @var \Drupal\Core\Config\Config
-   */
-  protected $config;
-
-  /**
-   * Constructs a ThemeController object.
-   *
-   * @param \Drupal\Core\Config\Config $config
-   *   The config.
-   */
-  public function __construct(Config $config) {
-    $this->config = $config;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('config.factory')->get('system.theme')
-    );
-  }
+class ThemeController extends ControllerBase {
 
   /**
    * Disables a theme.
@@ -60,6 +32,7 @@ public static function create(ContainerInterface $container) {
    */
   public function disable(Request $request) {
     $theme = $request->get('theme');
+    $config = $this->config('system.theme');
 
     if (isset($theme)) {
       // Get current list of themes.
@@ -68,7 +41,7 @@ public function disable(Request $request) {
       // Check if the specified theme is one recognized by the system.
       if (!empty($themes[$theme])) {
         // Do not disable the default or admin theme.
-        if ($theme === $this->config->get('default') || $theme === $this->config->get('admin')) {
+        if ($theme === $config->get('default') || $theme === $config->get('admin')) {
           drupal_set_message(t('%theme is the default theme and cannot be disabled.', array('%theme' => $themes[$theme]->info['name'])), 'error');
         }
         else {
diff --git a/core/modules/system/lib/Drupal/system/Form/ModulesListConfirmForm.php b/core/modules/system/lib/Drupal/system/Form/ModulesListConfirmForm.php
index 3f5ae9f..e392cac 100644
--- a/core/modules/system/lib/Drupal/system/Form/ModulesListConfirmForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/ModulesListConfirmForm.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\system\Form;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Form\ConfirmFormBase;
 use Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface;
@@ -17,7 +16,7 @@
 /**
  * Builds a confirmation form for enabling modules with dependencies.
  */
-class ModulesListConfirmForm extends ConfirmFormBase implements ContainerInjectionInterface {
+class ModulesListConfirmForm extends ConfirmFormBase {
 
   /**
    * The module handler service.
diff --git a/core/modules/system/lib/Drupal/system/Form/ModulesUninstallConfirmForm.php b/core/modules/system/lib/Drupal/system/Form/ModulesUninstallConfirmForm.php
index 1a85d9e..738dda2 100644
--- a/core/modules/system/lib/Drupal/system/Form/ModulesUninstallConfirmForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/ModulesUninstallConfirmForm.php
@@ -10,14 +10,13 @@
 use Drupal\Core\Form\ConfirmFormBase;
 use Symfony\Component\HttpFoundation\RedirectResponse;
 use Symfony\Component\DependencyInjection\ContainerInterface;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 
 /**
  * Builds a confirmation form to uninstall selected modules.
  */
-class ModulesUninstallConfirmForm extends ConfirmFormBase implements ContainerInjectionInterface {
+class ModulesUninstallConfirmForm extends ConfirmFormBase {
 
   /**
    * The module handler service.
diff --git a/core/modules/system/tests/modules/router_test_directory/lib/Drupal/router_test/TestContent.php b/core/modules/system/tests/modules/router_test_directory/lib/Drupal/router_test/TestContent.php
index 71d095c..57a1a85 100644
--- a/core/modules/system/tests/modules/router_test_directory/lib/Drupal/router_test/TestContent.php
+++ b/core/modules/system/tests/modules/router_test_directory/lib/Drupal/router_test/TestContent.php
@@ -7,10 +7,8 @@
 
 namespace Drupal\router_test;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
+use Drupal\Core\Controller\ControllerBase;
 use Drupal\user\UserInterface;
-use Symfony\Component\DependencyInjection\ContainerAware;
-use Symfony\Component\DependencyInjection\ContainerAwareInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpKernel\HttpKernelInterface;
@@ -18,7 +16,7 @@
 /**
  * Test controllers that are intended to be wrapped in a main controller.
  */
-class TestContent extends ContainerAware implements ContainerInjectionInterface {
+class TestContent extends ControllerBase {
 
   /**
    * The HTTP kernel.
@@ -55,13 +53,13 @@ public function test1() {
    *   The user name of the current logged in user.
    */
   public function test11() {
-    $account = \Drupal::currentUser();
+    $account = $this->currentUser();
     return $account->getUsername();
   }
 
   public function testAccount(UserInterface $user) {
-    $current_user = \Drupal::currentUser();
-    $this->container->set('current_user', $user);
+    $current_user = $this->currentUser();
+    \Drupal::getContainer()->set('current_user', $user);
     return $current_user->getUsername() . ':' . $user->getUsername();
   }
 
diff --git a/core/modules/update/lib/Drupal/update/Controller/UpdateController.php b/core/modules/update/lib/Drupal/update/Controller/UpdateController.php
index 6816466..c518335 100644
--- a/core/modules/update/lib/Drupal/update/Controller/UpdateController.php
+++ b/core/modules/update/lib/Drupal/update/Controller/UpdateController.php
@@ -7,40 +7,12 @@
 
 namespace Drupal\update\Controller;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
-use Drupal\Core\Extension\ModuleHandlerInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Controller\ControllerBase;
 
 /**
  * Controller routines for update routes.
  */
-class UpdateController implements ContainerInjectionInterface {
-
-  /**
-   * Module handler service.
-   *
-   * @var \Drupal\Core\Extension\ModuleHandlerInterface
-   */
-  protected $moduleHandler;
-
-  /**
-   * Constructs update status data.
-   *
-   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
-   *   Module Handler Service.
-   */
-  public function __construct(ModuleHandlerInterface $module_handler) {
-    $this->moduleHandler = $module_handler;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('module_handler')
-    );
-  }
+class UpdateController extends ControllerBase {
 
   /**
    * Returns a page about the update status of projects.
@@ -53,7 +25,7 @@ public function updateStatus() {
       '#theme' => 'update_report'
     );
     if ($available = update_get_available(TRUE)) {
-      $this->moduleHandler->loadInclude('update', 'compare.inc');
+      $this->moduleHandler()->loadInclude('update', 'compare.inc');
       $build['#data'] = update_calculate_project_data($available);
     }
     else {
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/Controller/ViewsUIController.php b/core/modules/views_ui/lib/Drupal/views_ui/Controller/ViewsUIController.php
index 90c1d58..bcc3618 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/Controller/ViewsUIController.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/Controller/ViewsUIController.php
@@ -7,25 +7,22 @@
 
 namespace Drupal\views_ui\Controller;
 
+use Drupal\Core\Controller\ControllerBase;
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\views\ViewExecutable;
 use Drupal\views\ViewStorageInterface;
 use Drupal\views_ui\ViewUI;
 use Drupal\views\ViewsData;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\JsonResponse;
-use Symfony\Component\HttpFoundation\RedirectResponse;
 use Drupal\Core\Ajax\AjaxResponse;
 use Drupal\Core\Ajax\ReplaceCommand;
-use Drupal\Core\Routing\UrlGeneratorInterface;
-use Drupal\Core\Utility\LinkGeneratorInterface;
 
 /**
  * Returns responses for Views UI routes.
  */
-class ViewsUIController implements ContainerInjectionInterface {
+class ViewsUIController extends ControllerBase {
 
   /**
    * Stores the Entity manager.
@@ -42,34 +39,16 @@ class ViewsUIController implements ContainerInjectionInterface {
   protected $viewsData;
 
   /**
-   * The URL generator to use.
-   *
-   * @var \Drupal\Core\Routing\UrlGeneratorInterface
-   */
-  protected $urlGenerator;
-
-  /**
-   * The link generator to use.
-   *
-   * @var \Drupal\Core\Utility\LinkGeneratorInterface
-   */
-  protected $linkGenerator;
-
-  /**
    * Constructs a new \Drupal\views_ui\Controller\ViewsUIController object.
    *
    * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
    *   The Entity manager.
    * @param \Drupal\views\ViewsData views_data
    *   The Views data cache object.
-   * @param \Drupal\Core\Routing\UrlGeneratorInterface
-   *   The URL generator.
    */
-  public function __construct(EntityManagerInterface $entity_manager, ViewsData $views_data, UrlGeneratorInterface $url_generator, LinkGeneratorInterface $link_generator) {
+  public function __construct(EntityManagerInterface $entity_manager, ViewsData $views_data) {
     $this->entityManager = $entity_manager;
     $this->viewsData = $views_data;
-    $this->urlGenerator = $url_generator;
-    $this->linkGenerator = $link_generator;
   }
 
   /**
@@ -78,9 +57,7 @@ public function __construct(EntityManagerInterface $entity_manager, ViewsData $v
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('entity.manager'),
-      $container->get('views.views_data'),
-      $container->get('url_generator'),
-      $container->get('link_generator')
+      $container->get('views.views_data')
     );
   }
 
@@ -123,7 +100,7 @@ public function reportFields() {
     foreach ($fields as $field_name => $views) {
       $rows[$field_name]['data'][0] = check_plain($field_name);
       foreach ($views as $view) {
-        $rows[$field_name]['data'][1][] = $this->linkGenerator->generate($view, 'views_ui.edit', array('view' => $view));
+        $rows[$field_name]['data'][1][] = $this->l($view, 'views_ui.edit', array('view' => $view));
       }
       $rows[$field_name]['data'][1] = implode(', ', $rows[$field_name]['data'][1]);
     }
@@ -151,7 +128,7 @@ public function reportPlugins() {
     foreach ($rows as &$row) {
       // Link each view name to the view itself.
       foreach ($row['views'] as $row_name => $view) {
-        $row['views'][$row_name] = $this->linkGenerator->generate($view, 'views_ui.edit', array('view' => $view));
+        $row['views'][$row_name] = $this->l($view, 'views_ui.edit', array('view' => $view));
       }
       $row['views'] = implode(', ', $row['views']);
     }
@@ -194,7 +171,7 @@ public function ajaxOperation(ViewStorageInterface $view, $op, Request $request)
     }
 
     // Otherwise, redirect back to the page.
-    return new RedirectResponse($this->urlGenerator->generate('views_ui.list', array(), TRUE));
+    return $this->redirect('views_ui.list');
   }
 
   /**
