diff --git a/core/lib/Drupal/Core/Controller/ControllerBase.php b/core/lib/Drupal/Core/Controller/ControllerBase.php
index b89a09a..2c0540a 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\EntityManager
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php b/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
index bfbf5b0..71c6970 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
@@ -8,7 +8,6 @@
 namespace Drupal\aggregator\Controller;
 
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\aggregator\CategoryStorageControllerInterface;
 use Drupal\aggregator\FeedInterface;
 use Drupal\aggregator\ItemInterface;
@@ -20,7 +19,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/aggregator/lib/Drupal/aggregator/Form/CategoryDeleteForm.php b/core/modules/aggregator/lib/Drupal/aggregator/Form/CategoryDeleteForm.php
index 5aad822..971b6c1 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Form/CategoryDeleteForm.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Form/CategoryDeleteForm.php
@@ -8,7 +8,6 @@
 namespace Drupal\aggregator\Form;
 
 use Drupal\aggregator\CategoryStorageControllerInterface;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\EntityManager;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Form\ConfirmFormBase;
@@ -18,7 +17,7 @@
 /**
  * Provides a confirm delete form.
  */
-class CategoryDeleteForm extends ConfirmFormBase implements ContainerInjectionInterface {
+class CategoryDeleteForm extends ConfirmFormBase {
 
   /**
    * The category to be deleted.
diff --git a/core/modules/comment/lib/Drupal/comment/Controller/AdminController.php b/core/modules/comment/lib/Drupal/comment/Controller/AdminController.php
index 451a62d..5a387de 100644
--- a/core/modules/comment/lib/Drupal/comment/Controller/AdminController.php
+++ b/core/modules/comment/lib/Drupal/comment/Controller/AdminController.php
@@ -9,7 +9,6 @@
 
 use Drupal\Component\Utility\String;
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\comment\CommentManagerInterface;
 use Drupal\field\FieldInfo;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -17,7 +16,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 1c2ffa9..6bb7379 100644
--- a/core/modules/comment/lib/Drupal/comment/Controller/CommentController.php
+++ b/core/modules/comment/lib/Drupal/comment/Controller/CommentController.php
@@ -13,7 +13,6 @@
 use Drupal\Core\Access\CsrfTokenGenerator;
 use Drupal\Core\Controller\ControllerBase;
 use Drupal\Core\Entity\EntityInterface;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Session\AccountInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\JsonResponse;
@@ -28,7 +27,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 97884ca..32eef7c 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/dblog/lib/Drupal/dblog/Controller/DbLogController.php b/core/modules/dblog/lib/Drupal/dblog/Controller/DbLogController.php
index 795f689..e954d89 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\user\UserStorageControllerInterface;
 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/edit/lib/Drupal/edit/EditController.php b/core/modules/edit/lib/Drupal/edit/EditController.php
index 84649d0..4898a31 100644
--- a/core/modules/edit/lib/Drupal/edit/EditController.php
+++ b/core/modules/edit/lib/Drupal/edit/EditController.php
@@ -7,13 +7,12 @@
 
 namespace Drupal\edit;
 
-use Symfony\Component\DependencyInjection\ContainerAware;
+use Drupal\Core\Controller\ControllerBase;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\JsonResponse;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 use Drupal\Core\Ajax\AjaxResponse;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityManager;
 use Drupal\field\FieldInfo;
@@ -23,14 +22,13 @@
 use Drupal\edit\Ajax\FieldFormSavedCommand;
 use Drupal\edit\Ajax\FieldFormValidationErrorsCommand;
 use Drupal\edit\Ajax\EntitySavedCommand;
-use Drupal\edit\Ajax\MetadataCommand;
 use Drupal\edit\Form\EditFieldForm;
 use Drupal\user\TempStoreFactory;
 
 /**
  * Returns responses for Edit module routes.
  */
-class EditController extends ContainerAware implements ContainerInjectionInterface {
+class EditController extends ControllerBase {
 
   /**
    * The TempStore factory.
@@ -209,7 +207,7 @@ public function fieldForm(EntityInterface $entity, $field_name, $langcode, $view
       'no_redirect' => TRUE,
       'build_info' => array('args' => array($entity, $field_name)),
     );
-    $form_id = _drupal_form_id(EditFieldForm::create($this->container), $form_state);
+    $form_id = _drupal_form_id(EditFieldForm::create(\Drupal::getContainer()), $form_state);
     $form = drupal_build_form($form_id, $form_state);
 
     if (!empty($form_state['executed'])) {
diff --git a/core/modules/edit/lib/Drupal/edit/Form/EditFieldForm.php b/core/modules/edit/lib/Drupal/edit/Form/EditFieldForm.php
index f98f91e..b191f5a 100644
--- a/core/modules/edit/lib/Drupal/edit/Form/EditFieldForm.php
+++ b/core/modules/edit/lib/Drupal/edit/Form/EditFieldForm.php
@@ -7,19 +7,18 @@
 
 namespace Drupal\edit\Form;
 
+use Drupal\Core\Form\FormBase;
 use Symfony\Component\DependencyInjection\ContainerInterface;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityStorageControllerInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
-use Drupal\Core\Form\FormInterface;
 use Drupal\user\TempStoreFactory;
 use Drupal\Core\Entity\EntityChangedInterface;
 
 /**
  * Builds and process a form for editing a single entity field.
  */
-class EditFieldForm implements FormInterface, ContainerInjectionInterface {
+class EditFieldForm extends FormBase {
 
   /**
    * Stores the tempstore factory.
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..5bf7b3b 100644
--- a/core/modules/image/lib/Drupal/image/Form/ImageEffectAddForm.php
+++ b/core/modules/image/lib/Drupal/image/Form/ImageEffectAddForm.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\image\Form;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\image\ImageEffectManager;
 use Drupal\image\ImageStyleInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -15,7 +14,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/node/lib/Drupal/node/Form/DeleteMultiple.php b/core/modules/node/lib/Drupal/node/Form/DeleteMultiple.php
index 59ecf4a..8934762 100644
--- a/core/modules/node/lib/Drupal/node/Form/DeleteMultiple.php
+++ b/core/modules/node/lib/Drupal/node/Form/DeleteMultiple.php
@@ -9,7 +9,6 @@
 
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Form\ConfirmFormBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\EntityManager;
 use Drupal\Component\Utility\String;
 use Drupal\user\TempStoreFactory;
@@ -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 1ce40f7..118ece1 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 72f6dc5..48e46fc 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/overlay/lib/Drupal/overlay/Controller/OverlayController.php b/core/modules/overlay/lib/Drupal/overlay/Controller/OverlayController.php
index eb072b3..6f9bc37 100644
--- a/core/modules/overlay/lib/Drupal/overlay/Controller/OverlayController.php
+++ b/core/modules/overlay/lib/Drupal/overlay/Controller/OverlayController.php
@@ -9,7 +9,6 @@
 
 use Drupal\Core\Access\CsrfTokenGenerator;
 use Drupal\Core\Controller\ControllerBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\user\UserDataInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -23,7 +22,7 @@
  * @todo keeping the controllerInterface since we should be injecting
  * something to take care of the overlay_render_region() call.
  */
-class OverlayController extends ControllerBase implements ContainerInjectionInterface {
+class OverlayController extends ControllerBase {
 
   /**
    * The userdata service.
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/system/lib/Drupal/system/Controller/SystemController.php b/core/modules/system/lib/Drupal/system/Controller/SystemController.php
index 597471e..b06f3a3 100644
--- a/core/modules/system/lib/Drupal/system/Controller/SystemController.php
+++ b/core/modules/system/lib/Drupal/system/Controller/SystemController.php
@@ -8,7 +8,6 @@
 namespace Drupal\system\Controller;
 
 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;
@@ -17,7 +16,7 @@
 /**
  * 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/Form/DateFormatLocalizeResetForm.php b/core/modules/system/lib/Drupal/system/Form/DateFormatLocalizeResetForm.php
index 6770e18..bbf079d 100644
--- a/core/modules/system/lib/Drupal/system/Form/DateFormatLocalizeResetForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/DateFormatLocalizeResetForm.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\system\Form;
 
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Form\ConfirmFormBase;
 use Drupal\Core\Config\ConfigFactory;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -15,7 +14,7 @@
 /**
  * Builds a form for enabling a module.
  */
-class DateFormatLocalizeResetForm extends ConfirmFormBase implements ContainerInjectionInterface {
+class DateFormatLocalizeResetForm extends ConfirmFormBase {
 
   /**
    * The language to be reset.
diff --git a/core/modules/system/lib/Drupal/system/Form/ModulesListConfirmForm.php b/core/modules/system/lib/Drupal/system/Form/ModulesListConfirmForm.php
index ccab5b1..829ccea 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 efc31c1..5a200de 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/user/lib/Drupal/user/Controller/UserAdmin.php b/core/modules/user/lib/Drupal/user/Controller/UserAdmin.php
index c5da477..29d2a54 100644
--- a/core/modules/user/lib/Drupal/user/Controller/UserAdmin.php
+++ b/core/modules/user/lib/Drupal/user/Controller/UserAdmin.php
@@ -9,7 +9,6 @@
 
 use Drupal\Core\Controller\ControllerBase;
 use Drupal\Core\Database\Connection;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\Query\QueryInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\user\UserStorageControllerInterface;
@@ -20,7 +19,7 @@
  *
  * @todo Convert this to a entity list controller once table sort is supported.
  */
-class UserAdmin extends ControllerBase implements ContainerInjectionInterface {
+class UserAdmin extends ControllerBase {
 
   /**
    * The database connection.
