diff --git a/core/includes/ajax.inc b/core/includes/ajax.inc
index 94444f16b030f0013ee2b9da301172b8dcb46a1c..8e024a8d3afc00789cdb017b197fa435b4b83edb 100644
--- a/core/includes/ajax.inc
+++ b/core/includes/ajax.inc
@@ -691,7 +691,7 @@ function ajax_pre_render_element($element) {
  * The 'alert' command instructs the client to display a JavaScript alert
  * dialog box.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.alert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.alert()
  * defined in misc/ajax.js.
  *
  * @param $text
@@ -714,7 +714,7 @@ function ajax_command_alert($text) {
  * jQuery DOM manipulation method has been specified in the #ajax['method']
  * variable of the element that triggered the request.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  *
  * @param $selector
@@ -745,7 +745,7 @@ function ajax_command_insert($selector, $html, $settings = NULL) {
  * method to prepend the given HTML content to the inside each element matched
  * by the given selector.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  *
  * @param $selector
@@ -778,7 +778,7 @@ function ajax_command_prepend($selector, $html, $settings = NULL) {
  * method to append the given HTML content to the inside of each element matched
  * by the given selector.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  *
  * @param $selector
@@ -811,7 +811,7 @@ function ajax_command_append($selector, $html, $settings = NULL) {
  * to remove each of elements matched by the given selector, and everything
  * within them.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.remove()
+ * This command is implemented by Drupal.AjaxCommands.prototype.remove()
  * defined in misc/ajax.js.
  *
  * @param $selector
@@ -836,7 +836,7 @@ function ajax_command_remove($selector) {
  * This command instructs the client to mark each of the elements matched by the
  * given selector as 'ajax-changed'.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.changed()
+ * This command is implemented by Drupal.AjaxCommands.prototype.changed()
  * defined in misc/ajax.js.
  *
  * @param $selector
@@ -863,7 +863,7 @@ function ajax_command_changed($selector, $asterisk = '') {
  * The 'css' command will instruct the client to use the jQuery css() method
  * to apply the CSS arguments to elements matched by the given selector.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.css()
+ * This command is implemented by Drupal.AjaxCommands.prototype.css()
  * defined in misc/ajax.js.
  *
  * @param $selector
@@ -892,7 +892,7 @@ function ajax_command_css($selector, $argument) {
  * the settings for ajax-loaded content or to extend Drupal.settings with the
  * given array, depending on the value of the $merge parameter.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.settings()
+ * This command is implemented by Drupal.AjaxCommands.prototype.settings()
  * defined in misc/ajax.js.
  *
  * @param $argument
@@ -921,7 +921,7 @@ function ajax_command_settings($argument, $merge = FALSE) {
  *
  * This method will add css via ajax in a cross-browser compatible way.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.add_css()
+ * This command is implemented by Drupal.AjaxCommands.prototype.add_css()
  * defined in misc/ajax.js.
  *
  * @param $styles
diff --git a/core/lib/Drupal/Core/Ajax/AddCssCommand.php b/core/lib/Drupal/Core/Ajax/AddCssCommand.php
index a5dc5bd490dd3c0f594bc64bea960e079a322fd0..d28a4b5da87fe7b6bbdba9aac906ec45c30ce342 100644
--- a/core/lib/Drupal/Core/Ajax/AddCssCommand.php
+++ b/core/lib/Drupal/Core/Ajax/AddCssCommand.php
@@ -12,7 +12,7 @@
 /**
  * An AJAX command for adding css to the page via ajax.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.add_css()
+ * This command is implemented by Drupal.AjaxCommands.prototype.add_css()
  * defined in misc/ajax.js.
  *
  * @see misc/ajax.js
diff --git a/core/lib/Drupal/Core/Ajax/AfterCommand.php b/core/lib/Drupal/Core/Ajax/AfterCommand.php
index 096d9bc6d65bd04fa3f0ce3d61ff69bc6ccfa1af..e56a92ce3fb7c2cd296cf3d9ba1da1d6a659c6d7 100644
--- a/core/lib/Drupal/Core/Ajax/AfterCommand.php
+++ b/core/lib/Drupal/Core/Ajax/AfterCommand.php
@@ -16,7 +16,7 @@
  * method to insert the given HTML content after each element matched by the
  * given selector.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  *
  * @see http://docs.jquery.com/Manipulation/after#content
diff --git a/core/lib/Drupal/Core/Ajax/AppendCommand.php b/core/lib/Drupal/Core/Ajax/AppendCommand.php
index 7ba98bd811589630c0d6523a285964bf7914e30a..cc334aa11e21d43b21ce26bf8023274b764d806a 100644
--- a/core/lib/Drupal/Core/Ajax/AppendCommand.php
+++ b/core/lib/Drupal/Core/Ajax/AppendCommand.php
@@ -16,7 +16,7 @@
  * method to append the given HTML content to the inside of each element matched
  * by the given selector.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  *
  * @see http://docs.jquery.com/Manipulation/append#content
diff --git a/core/lib/Drupal/Core/Ajax/BeforeCommand.php b/core/lib/Drupal/Core/Ajax/BeforeCommand.php
index 0d1dc856ba40b5353cd1cdf890c45b26dd5b33a5..62b3b2f832559c07e25df8bb509d0217fea84398 100644
--- a/core/lib/Drupal/Core/Ajax/BeforeCommand.php
+++ b/core/lib/Drupal/Core/Ajax/BeforeCommand.php
@@ -16,7 +16,7 @@
  * method to insert the given HTML content before each of elements matched by
  * the given selector.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  *
  * @see http://docs.jquery.com/Manipulation/before#content
diff --git a/core/lib/Drupal/Core/Ajax/ChangedCommand.php b/core/lib/Drupal/Core/Ajax/ChangedCommand.php
index d3c7cdcd6781b28b800aa74af4e2f6288516e629..904880d61e3990dd3bf51c749c65fc3e311aa696 100644
--- a/core/lib/Drupal/Core/Ajax/ChangedCommand.php
+++ b/core/lib/Drupal/Core/Ajax/ChangedCommand.php
@@ -15,7 +15,7 @@
  * This command instructs the client to mark each of the elements matched by the
  * given selector as 'ajax-changed'.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.changed()
+ * This command is implemented by Drupal.AjaxCommands.prototype.changed()
  * defined in misc/ajax.js.
  */
 class ChangedCommand implements CommandInterface {
diff --git a/core/lib/Drupal/Core/Ajax/CssCommand.php b/core/lib/Drupal/Core/Ajax/CssCommand.php
index de55e7b8541ab96aef96093562277e31f9823883..f878caefe796539b3872334c0292325bc4339fbb 100644
--- a/core/lib/Drupal/Core/Ajax/CssCommand.php
+++ b/core/lib/Drupal/Core/Ajax/CssCommand.php
@@ -15,7 +15,7 @@
  * The 'css' command will instruct the client to use the jQuery css() method to
  * apply the CSS arguments to elements matched by the given selector.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.css() defined
+ * This command is implemented by Drupal.AjaxCommands.prototype.css() defined
  * in misc/ajax.js.
  *
  * @see http://docs.jquery.com/CSS/css#properties
diff --git a/core/lib/Drupal/Core/Ajax/DataCommand.php b/core/lib/Drupal/Core/Ajax/DataCommand.php
index a45d4a9693aec2c24898fee1d9850226c54e4928..e7e8dbf70528a5978d6374e6904d0b2449b0e64d 100644
--- a/core/lib/Drupal/Core/Ajax/DataCommand.php
+++ b/core/lib/Drupal/Core/Ajax/DataCommand.php
@@ -15,7 +15,7 @@
  * This instructs the client to attach the name=value pair of data to the
  * selector via jQuery's data cache.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.data() defined
+ * This command is implemented by Drupal.AjaxCommands.prototype.data() defined
  * in misc/ajax.js.
  */
 class DataCommand implements CommandInterface {
diff --git a/core/lib/Drupal/Core/Ajax/HtmlCommand.php b/core/lib/Drupal/Core/Ajax/HtmlCommand.php
index d9bb0f6cff3421743f161cb5e2c26671ee0faa92..3e26f0364cb5a7506e7e251e093e003c0be85aa3 100644
--- a/core/lib/Drupal/Core/Ajax/HtmlCommand.php
+++ b/core/lib/Drupal/Core/Ajax/HtmlCommand.php
@@ -16,7 +16,7 @@
  * to set the HTML content of each element matched by the given selector while
  * leaving the outer tags intact.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  *
  * @see http://docs.jquery.com/Attributes/html#val
diff --git a/core/lib/Drupal/Core/Ajax/InsertCommand.php b/core/lib/Drupal/Core/Ajax/InsertCommand.php
index 8c0e93815d46e6865c86e861083d0411fda09b49..9871ef20b13679ff00a7ca94f533b5661f3d1fb9 100644
--- a/core/lib/Drupal/Core/Ajax/InsertCommand.php
+++ b/core/lib/Drupal/Core/Ajax/InsertCommand.php
@@ -16,7 +16,7 @@
  * jQuery DOM manipulation method has been specified in the #ajax['method']
  * variable of the element that triggered the request.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  */
 class InsertCommand implements CommandInterface {
diff --git a/core/lib/Drupal/Core/Ajax/InvokeCommand.php b/core/lib/Drupal/Core/Ajax/InvokeCommand.php
index ad5e9659543865fcbd5828804402669887c6432b..d04b5f5c939dc1d6c766b0e7c5cb15f738e53123 100644
--- a/core/lib/Drupal/Core/Ajax/InvokeCommand.php
+++ b/core/lib/Drupal/Core/Ajax/InvokeCommand.php
@@ -17,7 +17,7 @@
  * selector. Intended for simple jQuery commands, such as attr(), addClass(),
  * removeClass(), toggleClass(), etc.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.invoke()
+ * This command is implemented by Drupal.AjaxCommands.prototype.invoke()
  * defined in misc/ajax.js.
  */
 class InvokeCommand implements CommandInterface {
diff --git a/core/lib/Drupal/Core/Ajax/PrependCommand.php b/core/lib/Drupal/Core/Ajax/PrependCommand.php
index 5557c31a014c63313994343c58a69152b3349286..ccaf67a1c3cf590b18cb4fe7bd5911e6dc6253dd 100644
--- a/core/lib/Drupal/Core/Ajax/PrependCommand.php
+++ b/core/lib/Drupal/Core/Ajax/PrependCommand.php
@@ -16,7 +16,7 @@
  * method to prepend the given HTML content to the inside each element matched
  * by the given selector.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  *
  * @see http://docs.jquery.com/Manipulation/prepend#content
diff --git a/core/lib/Drupal/Core/Ajax/RemoveCommand.php b/core/lib/Drupal/Core/Ajax/RemoveCommand.php
index b77db99f2af4bc783b7addcc704fc5bbff24a562..dd6085fe7184139395e72f1f5057e9cbce4a2ceb 100644
--- a/core/lib/Drupal/Core/Ajax/RemoveCommand.php
+++ b/core/lib/Drupal/Core/Ajax/RemoveCommand.php
@@ -16,7 +16,7 @@
  * to remove each of elements matched by the given selector, and everything
  * within them.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.remove()
+ * This command is implemented by Drupal.AjaxCommands.prototype.remove()
  * defined in misc/ajax.js.
  *
  * @see http://docs.jquery.com/Manipulation/remove#expr
diff --git a/core/lib/Drupal/Core/Ajax/ReplaceCommand.php b/core/lib/Drupal/Core/Ajax/ReplaceCommand.php
index 89270f48d7d170c72e7a04a41026f7aa01535f6b..50c39af5f673956ddd8e042caa3c4e3d28af433f 100644
--- a/core/lib/Drupal/Core/Ajax/ReplaceCommand.php
+++ b/core/lib/Drupal/Core/Ajax/ReplaceCommand.php
@@ -16,7 +16,7 @@
  * replaceWith() method to replace each element matched matched by the given
  * selector with the given HTML.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.insert()
+ * This command is implemented by Drupal.AjaxCommands.prototype.insert()
  * defined in misc/ajax.js.
  *
  * See
diff --git a/core/lib/Drupal/Core/Ajax/RestripeCommand.php b/core/lib/Drupal/Core/Ajax/RestripeCommand.php
index 93c61aad7d6ca255ffe5c37610a13ec98482b84b..460eb50304b73e710d2cdfe61157c72f442dfb63 100644
--- a/core/lib/Drupal/Core/Ajax/RestripeCommand.php
+++ b/core/lib/Drupal/Core/Ajax/RestripeCommand.php
@@ -15,7 +15,7 @@
  * The 'restripe' command instructs the client to restripe a table. This is
  * usually used after a table has been modified by a replace or append command.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.restripe()
+ * This command is implemented by Drupal.AjaxCommands.prototype.restripe()
  * defined in misc/ajax.js.
  */
 class RestripeCommand implements CommandInterface {
diff --git a/core/lib/Drupal/Core/Ajax/SettingsCommand.php b/core/lib/Drupal/Core/Ajax/SettingsCommand.php
index 7a00f8ac4ea949d41c2bb56f046861577a84536c..d31fdbf3d47a3b38b4a47f4fb9f781f1ce583498 100644
--- a/core/lib/Drupal/Core/Ajax/SettingsCommand.php
+++ b/core/lib/Drupal/Core/Ajax/SettingsCommand.php
@@ -16,7 +16,7 @@
  * the settings for ajax-loaded content or to extend Drupal.settings with the
  * given array, depending on the value of the $merge parameter.
  *
- * This command is implemented by Drupal.ajax.prototype.commands.settings()
+ * This command is implemented by Drupal.AjaxCommands.prototype.settings()
  * defined in misc/ajax.js.
  */
 class SettingsCommand implements CommandInterface {
diff --git a/core/misc/ajax.js b/core/misc/ajax.js
index 045cccf8ba37739135fe4583ec4ed5b38fa50a9b..bdff14be61de1720b2760cafc66dfa1b658f9901 100644
--- a/core/misc/ajax.js
+++ b/core/misc/ajax.js
@@ -164,6 +164,8 @@ Drupal.ajax = function (base, element, element_settings) {
 
   $.extend(this, defaults, element_settings);
 
+  this.commands = new Drupal.AjaxCommands();
+
   // @todo Remove this after refactoring the PHP code to:
   //   - Call this 'selector'.
   //   - Include the '#' for ID-based selectors.
@@ -552,7 +554,8 @@ Drupal.ajax.prototype.error = function (response, uri) {
 /**
  * Provide a series of commands that the server can request the client perform.
  */
-Drupal.ajax.prototype.commands = {
+Drupal.AjaxCommands = function () {};
+Drupal.AjaxCommands.prototype = {
   /**
    * Command to insert new content into the DOM.
    */
diff --git a/core/misc/dialog.ajax.js b/core/misc/dialog.ajax.js
index 90c9d26c540d6ab2e74fafb7996690884afd065a..8b1f80f5c6f4cdecf6c334a5034e8196e98f36b5 100644
--- a/core/misc/dialog.ajax.js
+++ b/core/misc/dialog.ajax.js
@@ -21,7 +21,7 @@
   /**
    * Command to open a dialog.
    */
-  Drupal.ajax.prototype.commands.openDialog = function (ajax, response, status) {
+  Drupal.AjaxCommands.prototype.openDialog = function (ajax, response, status) {
     if (!response.selector) {
       return false;
     }
@@ -56,7 +56,7 @@
    *
    * If no selector is given, it defaults to trying to close the modal.
    */
-  Drupal.ajax.prototype.commands.closeDialog = function (ajax, response, status) {
+  Drupal.AjaxCommands.prototype.closeDialog = function (ajax, response, status) {
     var $dialog = $(response.selector);
     if ($dialog.length) {
       Drupal.dialog($dialog).close();
@@ -68,7 +68,7 @@
    *
    * jQuery UI specific way of setting dialog options.
    */
-  Drupal.ajax.prototype.commands.setDialogOption = function (ajax, response, status) {
+  Drupal.AjaxCommands.prototype.setDialogOption = function (ajax, response, status) {
     var $dialog = $(response.selector);
     if ($dialog.length) {
       $dialog.dialog('option', response.optionName, response.optionValue);
diff --git a/core/modules/edit/js/edit.js b/core/modules/edit/js/edit.js
index 102fef7f8bc982c9e5f161c79c1a673fbc112848..a3c1fd7bbcc3618f05fcc96fd407cdbc187e5216 100644
--- a/core/modules/edit/js/edit.js
+++ b/core/modules/edit/js/edit.js
@@ -290,7 +290,7 @@ function loadMissingEditors (callback) {
   });
   // Implement a scoped insert AJAX command: calls the callback after all AJAX
   // command functions have been executed (hence the deferred calling).
-  var realInsert = Drupal.ajax.prototype.commands.insert;
+  var realInsert = Drupal.AjaxCommands.prototype.insert;
   Drupal.ajax[id].commands.insert = function (ajax, response, status) {
     _.defer(function() { callback(); });
     realInsert(ajax, response, status);
diff --git a/core/modules/edit/js/editors/formEditor.js b/core/modules/edit/js/editors/formEditor.js
index e14384058076c6edd182eb2c3e32d79985d318f4..d50b48b9c01cad7763d8a0e8565094b45923a9e8 100644
--- a/core/modules/edit/js/editors/formEditor.js
+++ b/core/modules/edit/js/editors/formEditor.js
@@ -85,7 +85,7 @@ Drupal.edit.editors.form = Drupal.edit.EditorView.extend({
       nocssjs: false
     };
     Drupal.edit.util.form.load(formOptions, function (form, ajax) {
-      Drupal.ajax.prototype.commands.insert(ajax, {
+      Drupal.AjaxCommands.prototype.insert(ajax, {
         data: form,
         selector: '#' + id + ' .placeholder'
       });
@@ -160,7 +160,7 @@ Drupal.edit.editors.form = Drupal.edit.EditorView.extend({
     Drupal.ajax[base].commands.editFieldForm = function (ajax, response, status) {
       Drupal.edit.util.form.unajaxifySaving($(ajax.element));
 
-      Drupal.ajax.prototype.commands.insert(ajax, {
+      Drupal.AjaxCommands.prototype.insert(ajax, {
         data: response.data,
         selector: '#' + $formContainer.attr('id') + ' form'
       });
diff --git a/core/modules/views/js/ajax_view.js b/core/modules/views/js/ajax_view.js
index 5bf75bb30531e4611e414ae3df1d877fd8e15685..1f373906bebf15a54c4862ee4fa696eb97daf6e4 100644
--- a/core/modules/views/js/ajax_view.js
+++ b/core/modules/views/js/ajax_view.js
@@ -116,7 +116,7 @@ Drupal.views.ajaxView.prototype.attachPagerLinkAjax = function(id, link) {
   this.pagerAjax = new Drupal.ajax(false, $link, this.element_settings);
 };
 
-Drupal.ajax.prototype.commands.viewsScrollTop = function (ajax, response) {
+Drupal.AjaxCommands.prototype.viewsScrollTop = function (ajax, response) {
   // Scroll to the top of the view. This will allow users
   // to browse newly loaded content after e.g. clicking a pager
   // link.
diff --git a/core/modules/views/lib/Drupal/views/Ajax/DismissFormCommand.php b/core/modules/views/lib/Drupal/views/Ajax/DismissFormCommand.php
index 7dfa90fb356d4ee7e6aabf608bc1bac369fc8419..a32b7fe8b11626c834131ad1d065692597c45641 100644
--- a/core/modules/views/lib/Drupal/views/Ajax/DismissFormCommand.php
+++ b/core/modules/views/lib/Drupal/views/Ajax/DismissFormCommand.php
@@ -12,7 +12,7 @@
 /**
  * Provides an AJAX command for closing the views form modal.
  *
- * This command is implemented in Drupal.ajax.prototype.commands.viewsDismissForm.
+ * This command is implemented in Drupal.AjaxCommands.prototype.viewsDismissForm.
  */
 class DismissFormCommand implements CommandInterface {
 
diff --git a/core/modules/views/lib/Drupal/views/Ajax/HighlightCommand.php b/core/modules/views/lib/Drupal/views/Ajax/HighlightCommand.php
index 91729022b1772d18a9c3d997fc1a30a95c35d1df..9558ddf7102eff5a915e9277ce95e1f4204748a3 100644
--- a/core/modules/views/lib/Drupal/views/Ajax/HighlightCommand.php
+++ b/core/modules/views/lib/Drupal/views/Ajax/HighlightCommand.php
@@ -12,7 +12,7 @@
 /**
  * Provides an AJAX command for highlighting a certain new piece of html.
  *
- * This command is implemented in Drupal.ajax.prototype.commands.viewsHighlight.
+ * This command is implemented in Drupal.AjaxCommands.prototype.viewsHighlight.
  */
 class HighlightCommand implements CommandInterface {
 
diff --git a/core/modules/views/lib/Drupal/views/Ajax/ReplaceTitleCommand.php b/core/modules/views/lib/Drupal/views/Ajax/ReplaceTitleCommand.php
index 2d79e97387500149bb0a6c726d4aff0f56fc0a79..8972969eab0b7f4289359826b9ba688d8cf1cbca 100644
--- a/core/modules/views/lib/Drupal/views/Ajax/ReplaceTitleCommand.php
+++ b/core/modules/views/lib/Drupal/views/Ajax/ReplaceTitleCommand.php
@@ -12,7 +12,7 @@
 /**
  * Provides an AJAX command for replacing the page title.
  *
- * This command is implemented in Drupal.ajax.prototype.commands.viewsReplaceTitle.
+ * This command is implemented in Drupal.AjaxCommands.prototype.viewsReplaceTitle.
  */
 class ReplaceTitleCommand implements CommandInterface {
 
diff --git a/core/modules/views/lib/Drupal/views/Ajax/ScrollTopCommand.php b/core/modules/views/lib/Drupal/views/Ajax/ScrollTopCommand.php
index 6b9eb21f2e2bf4ca595dda54a208385ab11adae3..fe2f6d156d824de86eaee8c7a1591b7caedc02f4 100644
--- a/core/modules/views/lib/Drupal/views/Ajax/ScrollTopCommand.php
+++ b/core/modules/views/lib/Drupal/views/Ajax/ScrollTopCommand.php
@@ -12,7 +12,7 @@
 /**
  * Provides an AJAX command for scolling to the top of an element.
  *
- * This command is implemented in Drupal.ajax.prototype.commands.viewsScrollTop.
+ * This command is implemented in Drupal.AjaxCommands.prototype.viewsScrollTop.
  */
 class ScrollTopCommand implements CommandInterface {
 
diff --git a/core/modules/views/lib/Drupal/views/Ajax/SetFormCommand.php b/core/modules/views/lib/Drupal/views/Ajax/SetFormCommand.php
index b4f629738cb2d86ea8754e2e6e105b792f3ebcb5..e3c4ffa0f94143efcd02f6613b42d633dc913c48 100644
--- a/core/modules/views/lib/Drupal/views/Ajax/SetFormCommand.php
+++ b/core/modules/views/lib/Drupal/views/Ajax/SetFormCommand.php
@@ -12,7 +12,7 @@
 /**
  * Provides an AJAX command for setting a form in the views edit modal.
  *
- * This command is implemented in Drupal.ajax.prototype.commands.viewsSetForm.
+ * This command is implemented in Drupal.AjaxCommands.prototype.viewsSetForm.
  */
 class SetFormCommand implements CommandInterface {
 
diff --git a/core/modules/views/lib/Drupal/views/Ajax/ShowButtonsCommand.php b/core/modules/views/lib/Drupal/views/Ajax/ShowButtonsCommand.php
index 2543fad17bbf4d72df582b95da7f4079e102ca95..92594c2aca56a996c53a841dd3fcaff432413484 100644
--- a/core/modules/views/lib/Drupal/views/Ajax/ShowButtonsCommand.php
+++ b/core/modules/views/lib/Drupal/views/Ajax/ShowButtonsCommand.php
@@ -12,7 +12,7 @@
 /**
  * Provides an AJAX command for showing the save and cancel buttons.
  *
- * This command is implemented in Drupal.ajax.prototype.commands.viewsShowButtons.
+ * This command is implemented in Drupal.AjaxCommands.prototype.viewsShowButtons.
  */
 class ShowButtonsCommand implements CommandInterface {
 
diff --git a/core/modules/views/lib/Drupal/views/Ajax/TriggerPreviewCommand.php b/core/modules/views/lib/Drupal/views/Ajax/TriggerPreviewCommand.php
index 345017d8be52154e9cce01e8d7c8eeccb33ed9a0..ccb8d085f4f0aacffc55dd10d06f33d6ee64702a 100644
--- a/core/modules/views/lib/Drupal/views/Ajax/TriggerPreviewCommand.php
+++ b/core/modules/views/lib/Drupal/views/Ajax/TriggerPreviewCommand.php
@@ -12,7 +12,7 @@
 /**
  * Provides an AJAX command for triggering the views live preview.
  *
- * This command is implemented in Drupal.ajax.prototype.commands.viewsTriggerPreview.
+ * This command is implemented in Drupal.AjaxCommands.prototype.viewsTriggerPreview.
  */
 class TriggerPreviewCommand implements CommandInterface {
 
diff --git a/core/modules/views_ui/js/ajax.js b/core/modules/views_ui/js/ajax.js
index ef45e244052af32ad3fd5ff6fa45644f18f284d1..a591f3981e3757a7ae72fbf056da06fc50c3f9ba 100644
--- a/core/modules/views_ui/js/ajax.js
+++ b/core/modules/views_ui/js/ajax.js
@@ -6,7 +6,7 @@
 
   "use strict";
 
-  Drupal.ajax.prototype.commands.viewsSetForm = function (ajax, response, status) {
+  Drupal.AjaxCommands.prototype.viewsSetForm = function (ajax, response, status) {
     var ajax_title = Drupal.settings.views.ajax.title;
     var ajax_body = Drupal.settings.views.ajax.id;
     var ajax_popup = Drupal.settings.views.ajax.popup;
@@ -37,28 +37,28 @@
     Drupal.viewsUi.resizeModal();
   };
 
-  Drupal.ajax.prototype.commands.viewsDismissForm = function (ajax, response, status) {
-    Drupal.ajax.prototype.commands.viewsSetForm({}, {'title': '', 'output': Drupal.settings.views.ajax.defaultForm});
+  Drupal.AjaxCommands.prototype.viewsDismissForm = function (ajax, response, status) {
+    Drupal.AjaxCommands.prototype.viewsSetForm({}, {'title': '', 'output': Drupal.settings.views.ajax.defaultForm});
     $(Drupal.settings.views.ajax.popup).dialog('close');
   };
 
-  Drupal.ajax.prototype.commands.viewsHighlight = function (ajax, response, status) {
+  Drupal.AjaxCommands.prototype.viewsHighlight = function (ajax, response, status) {
     $('.hilited').removeClass('hilited');
     $(response.selector).addClass('hilited');
   };
 
-  Drupal.ajax.prototype.commands.viewsShowButtons = function (ajax, response, status) {
+  Drupal.AjaxCommands.prototype.viewsShowButtons = function (ajax, response, status) {
     $('div.views-edit-view div.form-actions').removeClass('js-hide');
     $('div.views-edit-view div.view-changed.messages').removeClass('js-hide');
   };
 
-  Drupal.ajax.prototype.commands.viewsTriggerPreview = function (ajax, response, status) {
+  Drupal.AjaxCommands.prototype.viewsTriggerPreview = function (ajax, response, status) {
     if ($('input#edit-displays-live-preview').is(':checked')) {
       $('#preview-submit').trigger('click');
     }
   };
 
-  Drupal.ajax.prototype.commands.viewsReplaceTitle = function (ajax, response, status) {
+  Drupal.AjaxCommands.prototype.viewsReplaceTitle = function (ajax, response, status) {
     // In case we're in the overlay, get a reference to the underlying window.
     var doc = parent.document;
     // For the <title> element, make a best-effort attempt to replace the page