diff --git a/core/modules/action/action.admin.inc b/core/modules/action/action.admin.inc
index c9db258..c608b32 100644
--- a/core/modules/action/action.admin.inc
+++ b/core/modules/action/action.admin.inc
@@ -6,7 +6,12 @@
  */
 
 /**
- * Menu callback; Displays an overview of available and configured actions.
+ * Page callback: Displays an overview of available and configured actions.
+ *
+ * @return
+ *   A build array as expected by drupal_render().
+ *
+ * @see action_menu()
  */
 function action_admin_manage() {
   action_synchronize();
@@ -82,17 +87,17 @@ function action_admin_manage() {
 }
 
 /**
- * Define the form for the actions overview page.
+ * Form constructor for the actions overview page.
  *
- * @param $form_state
- *   An associative array containing the current state of the form; not used.
  * @param $options
- *   An array of configurable actions.
+ *   (optional) An array of configurable actions. Defaults to an empty array.
+ *
  * @return
- *   Form definition.
+ *   Form definition as an array.
  *
- * @ingroup forms
  * @see action_admin_manage_form_submit()
+ *
+ * @ingroup forms
  */
 function action_admin_manage_form($form, &$form_state, $options = array()) {
   $form['parent'] = array(
@@ -133,12 +138,14 @@ function action_admin_manage_form_submit($form, &$form_state) {
  * on our elements.
  *
  * @param $action
- *   Hash of an action ID or an integer. If it is a hash, we are
+ *   (optional) Hash of an action ID or an integer. If it is a hash, we are
  *   creating a new instance. If it is an integer, we are editing an existing
- *   instance.
+ *   instance. Defaults to NULL.
  *
  * @see action_admin_configure_validate()
  * @see action_admin_configure_submit()
+ * @see action_menu()
+ *
  * @ingroup forms
  */
 function action_admin_configure($form, &$form_state, $action = NULL) {
@@ -246,7 +253,14 @@ function action_admin_configure_submit($form, &$form_state) {
 /**
  * Creates the form for confirmation of deleting an action.
  *
+ * @param $action
+ *   Hash of an action ID or an integer. If it is a hash, we are
+ *   creating a new instance. If it is an integer, we are editing an existing
+ *   instance.
+ *
  * @see action_admin_delete_form_submit()
+ * @see action_menu()
+ *
  * @ingroup forms
  */
 function action_admin_delete_form($form, &$form_state, $action) {
@@ -276,7 +290,7 @@ function action_admin_delete_form_submit($form, &$form_state) {
 }
 
 /**
- * Post-deletion operations for deleting action orphans.
+ * Performs post-deletion operations for deleting action orphans.
  *
  * @param $orphaned
  *   An array of orphaned actions.
@@ -288,7 +302,9 @@ function action_admin_delete_orphans_post($orphaned) {
 }
 
 /**
- * Removes actions that are in the database but not supported by any enabled module.
+ * Removes actions in database but not supported by any enabled module.
+ *
+ * @see action_menu()
  */
 function action_admin_remove_orphans() {
   action_synchronize(TRUE);
diff --git a/core/modules/action/action.api.php b/core/modules/action/action.api.php
index 8e92c62..d5e8eec 100644
--- a/core/modules/action/action.api.php
+++ b/core/modules/action/action.api.php
@@ -22,23 +22,23 @@
  * arguments to actions_do().
  *
  * @return
- *   An associative array of action descriptions. The keys of the array
- *   are the names of the action functions, and each corresponding value
- *   is an associative array with the following key-value pairs:
- *   - 'type': The type of object this action acts upon. Core actions have types
+ *   An associative array of action descriptions. The keys of the array are the
+ *   names of the action functions, and each corresponding value is an
+ *   associative array with the following key-value pairs:
+ *   - type: The type of object this action acts upon. Core actions have types
  *     'node', 'user', 'comment', and 'system'.
- *   - 'label': The human-readable name of the action, which should be passed
+ *   - label: The human-readable name of the action, which should be passed
  *     through the t() function for translation.
- *   - 'configurable': If FALSE, then the action doesn't require any extra
+ *   - configurable: If FALSE, then the action doesn't require any extra
  *     configuration. If TRUE, then your module must define a form function with
  *     the same name as the action function with '_form' appended (e.g., the
  *     form for 'node_assign_owner_action' is 'node_assign_owner_action_form'.)
  *     This function takes $context as its only parameter, and is paired with
  *     the usual _submit function, and possibly a _validate function.
- *   - 'triggers': An array of the events (that is, hooks) that can trigger this
+ *   - triggers: An array of the events (that is, hooks) that can trigger this
  *     action. For example: array('node_insert', 'user_update'). You can also
  *     declare support for any trigger by returning array('any') for this value.
- *   - 'behavior': (optional) A machine-readable array of behaviors of this
+ *   - behavior: (optional) A machine-readable array of behaviors of this
  *     action, used to signal additionally required actions that may need to be
  *     triggered. Modules that are processing actions should take special care
  *     for the "presave" hook, in which case a dependent "save" action should
@@ -77,6 +77,9 @@ function hook_action_info() {
  * Called by action_list() to allow modules to alter the return values from
  * implementations of hook_action_info().
  *
+ * @param $actions
+ *   An array of action parameters.
+ *
  * @ingroup actions
  */
 function hook_action_info_alter(&$actions) {
diff --git a/core/modules/action/action.module b/core/modules/action/action.module
index 6396caf..5d7ef3a 100644
--- a/core/modules/action/action.module
+++ b/core/modules/action/action.module
@@ -109,30 +109,31 @@ function action_rebuild() {
  * Performs a given list of actions by executing their callback functions.
  *
  * Given the IDs of actions to perform, this function finds out what the
- * callback functions for the actions are by querying the database. Then
- * it calls each callback using the function call $function($object, $context,
- * $a1, $a2), passing the input arguments of this function (see below) to the
- * action function.
+ * callback functions for the actions are by querying the database. Then it
+ * calls each callback using the function call $function($object, $context, $a1,
+ * $a2), passing the input arguments of this function (see below) to the action
+ * function.
  *
  * @param $action_ids
  *   The IDs of the actions to perform. Can be a single action ID or an array
  *   of IDs. IDs of configurable actions must be given as numeric action IDs;
  *   IDs of non-configurable actions may be given as action function names.
  * @param $object
- *   The object that the action will act on: a node, user, or comment object.
+ *   (optional) The object that the action will act on: a node, user, or comment
+ *   object. Defaults to NULL.
  * @param $context
- *   Associative array containing extra information about what triggered
- *   the action call, with $context['hook'] giving the name of the hook
- *   that resulted in this call to actions_do(). Additional parameters
- *   will be used as the data for token replacement.
+ *   (optional) Associative array containing extra information about what
+ *   triggered the action call, with $context['hook'] giving the name of the
+ *   hook that resulted in this call to actions_do(). Additional parameters
+ *   will be used as the data for token replacement. Defaults to NULL.
  * @param $a1
- *   Passed along to the callback.
+ *   (optional) Passed along to the callback. Defaults to NULL.
  * @param $a2
- *   Passed along to the callback.
+ *   (optional) Passed along to the callback. Defaults to NULL.
  *
  * @return
- *   An associative array containing the results of the functions that
- *   perform the actions, keyed on action ID.
+ *   An associative array containing the results of the functions that perform
+ *   the actions, keyed on action ID.
  *
  * @ingroup actions
  */
@@ -196,7 +197,7 @@ function actions_do($action_ids, $object = NULL, $context = NULL, $a1 = NULL, $a
   }
   // Optimized execution of a single action.
   else {
-    // If it's a configurable action, retrieve stored parameters.
+    // If this is a configurable action, retrieve stored parameters.
     if (is_numeric($action_ids)) {
       $action = db_query("SELECT callback, parameters FROM {actions} WHERE aid = :aid", array(':aid' => $action_ids))->fetchObject();
       $function = $action->callback;
@@ -230,7 +231,8 @@ function actions_do($action_ids, $object = NULL, $context = NULL, $a1 = NULL, $a
  * documentation of action_get_all_actions() for an explanation.
  *
  * @param $reset
- *   Reset the action info static cache.
+ *   (optional) A boolean indicating whether to reset the action info static
+ *   cache. Defaults to FALSE.
  *
  * @return
  *   An associative array keyed on action function name, with the same format
@@ -238,6 +240,7 @@ function actions_do($action_ids, $object = NULL, $context = NULL, $a1 = NULL, $a
  *   modules' hook_action_info() return values as modified by any
  *   hook_action_info_alter() implementations.
  *
+ * @see action_get_all_actions()
  * @see hook_action_info()
  */
 function action_list($reset = FALSE) {
@@ -348,9 +351,9 @@ function action_function_lookup($hash) {
  * receive action IDs.
  *
  * @param $delete_orphans
- *   If TRUE, any actions that exist in the database but are no longer
- *   found in the code (for example, because the module that provides them has
- *   been disabled) will be deleted.
+ *   (optional) If TRUE, any actions that exist in the database but are no
+ *   longer found in the code (for example, because the module that provides
+ *   them has been disabled) will be deleted. Defaults to FALSE.
  */
 function action_synchronize($delete_orphans = FALSE) {
   $actions_in_code = action_list(TRUE);
@@ -416,7 +419,8 @@ function action_synchronize($delete_orphans = FALSE) {
  *   A user-supplied label of this particular action, e.g., 'Send e-mail
  *   to Jim'.
  * @param $aid
- *   The ID of this action. If omitted, a new action is created.
+ *   (optional) The ID of this action. If omitted, a new action is created.
+ *   Defaults to NULL.
  *
  * @return
  *   The ID of the action.
@@ -497,7 +501,7 @@ function action_action_info() {
 }
 
 /**
- * Return a form definition so the Send email action can be configured.
+ * Form constructor to configure the send email action.
  *
  * @param $context
  *   Default values (if we are editing an existing action instance).
@@ -546,7 +550,9 @@ function action_send_email_action_form($context) {
 }
 
 /**
- * Validates action_send_email_action() form submissions.
+ * Form validation handler for action_send_email_action_form().
+ *
+ * @see action_send_email_action_submit()
  */
 function action_send_email_action_validate($form, $form_state) {
   $form_values = $form_state['values'];
@@ -558,7 +564,9 @@ function action_send_email_action_validate($form, $form_state) {
 }
 
 /**
- * Processes action_send_email_action() form submissions.
+ * Form submission handler for action_send_email_action_form().
+ *
+ * @see action_send_email_action_validate()
  */
 function action_send_email_action_submit($form, $form_state) {
   $form_values = $form_state['values'];
@@ -576,8 +584,7 @@ function action_send_email_action_submit($form, $form_state) {
  * Sends an e-mail message.
  *
  * @param object $entity
- *   An optional node entity, which will be added as $context['node'] if
- *   provided.
+ *   A node entity, which will be added to $context['node'] if that is empty.
  * @param array $context
  *   Array with the following elements:
  *   - 'recipient': E-mail message recipient. This will be passed through
@@ -597,9 +604,8 @@ function action_send_email_action($entity, $context) {
 
   $recipient = token_replace($context['recipient'], $context);
 
-  // If the recipient is a registered user with a language preference, use
-  // the recipient's preferred language. Otherwise, use the system default
-  // language.
+  // If the recipient is a registered user with a language preference, use the
+  // recipient's preferred language. Otherwise, use the system default language.
   $recipient_account = user_load_by_mail($recipient);
   if ($recipient_account) {
     $langcode = user_preferred_langcode($recipient_account);
@@ -618,7 +624,7 @@ function action_send_email_action($entity, $context) {
 }
 
 /**
- * Constructs the settings form for action_message_action().
+ * Form constructor for the settings form for action_message_action().
  *
  * @see action_message_action_submit()
  */
@@ -635,7 +641,7 @@ function action_message_action_form($context) {
 }
 
 /**
- * Processes action_message_action form submissions.
+ * Form submission handler for action_message_action_form().
  */
 function action_message_action_submit($form, $form_state) {
   return array('message' => $form_state['values']['message']);
@@ -645,14 +651,14 @@ function action_message_action_submit($form, $form_state) {
  * Sends a message to the current user's screen.
  *
  * @param object $entity
- *   An optional node entity, which will be added as $context['node'] if
- *   provided.
+ *   A node entity, which will be added as $context['node'] if that is empty.
  * @param array $context
- *   Array with the following elements:
+ *   (optional) Array with the following possible elements:
  *   - 'message': The message to send. This will be passed through
  *     token_replace().
  *   - Other elements will be used as the data for token replacement in
  *     the message.
+ *  Defaults to an empty array.
  *
  * @ingroup actions
  */
@@ -666,7 +672,7 @@ function action_message_action(&$entity, $context = array()) {
 }
 
 /**
- * Constructs the settings form for action_goto_action().
+ * Form constructor for the settings form for action_goto_action().
  *
  * @see action_goto_action_submit()
  */
@@ -682,7 +688,7 @@ function action_goto_action_form($context) {
 }
 
 /**
- * Processes action_goto_action form submissions.
+ * Form submission handler for action_goto_action_form().
  */
 function action_goto_action_submit($form, $form_state) {
   return array(
@@ -697,8 +703,7 @@ function action_goto_action_submit($form, $form_state) {
  * Modules can cause action functions to run by calling actions_do().
  *
  * @param object $entity
- *   An optional node entity, which will be added as $context['node'] if
- *   provided.
+ *   A node entity, which will be added as $context['node'] if it is empty.
  * @param array $context
  *   Array with the following elements:
  *   - 'url': URL to redirect to. This will be passed through
diff --git a/core/modules/action/lib/Drupal/action/Tests/ConfigurationTest.php b/core/modules/action/lib/Drupal/action/Tests/ConfigurationTest.php
index 570e7e5..0450ce4 100644
--- a/core/modules/action/lib/Drupal/action/Tests/ConfigurationTest.php
+++ b/core/modules/action/lib/Drupal/action/Tests/ConfigurationTest.php
@@ -10,7 +10,7 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Actions configuration.
+ * Tests configuration within the Action module.
  */
 class ConfigurationTest extends WebTestBase {
 
@@ -50,8 +50,8 @@ function testActionConfiguration() {
     $this->drupalPost('admin/config/system/actions/configure/' . drupal_hash_base64('action_goto_action'), $edit, t('Save'));
 
     // Make sure that the new complex action was saved properly.
-    $this->assertText(t('The action has been successfully saved.'), "Make sure we get a confirmation that we've successfully saved the complex action.");
-    $this->assertText($action_label, "Make sure the action label appears on the configuration page after we've saved the complex action.");
+    $this->assertText(t('The action has been successfully saved.'), 'Make sure we get a confirmation that we have successfully saved the complex action.');
+    $this->assertText($action_label, 'Make sure the action label appears on the configuration page after we have saved the complex action.');
 
     // Make another POST request to the action edit page.
     $this->clickLink(t('configure'));
@@ -64,9 +64,9 @@ function testActionConfiguration() {
     $this->drupalPost(NULL, $edit, t('Save'));
 
     // Make sure that the action updated properly.
-    $this->assertText(t('The action has been successfully saved.'), "Make sure we get a confirmation that we've successfully updated the complex action.");
-    $this->assertNoText($action_label, "Make sure the old action label does NOT appear on the configuration page after we've updated the complex action.");
-    $this->assertText($new_action_label, "Make sure the action label appears on the configuration page after we've updated the complex action.");
+    $this->assertText(t('The action has been successfully saved.'), 'Make sure we get a confirmation that we have successfully updated the complex action.');
+    $this->assertNoText($action_label, 'Make sure the old action label does NOT appear on the configuration page after we have updated the complex action.');
+    $this->assertText($new_action_label, 'Make sure the action label appears on the configuration page after we have updated the complex action.');
 
     // Make sure that deletions work properly.
     $this->clickLink(t('delete'));
@@ -76,7 +76,7 @@ function testActionConfiguration() {
     // Make sure that the action was actually deleted.
     $this->assertRaw(t('Action %action was deleted', array('%action' => $new_action_label)), 'Make sure that we get a delete confirmation message.');
     $this->drupalGet('admin/config/system/actions/manage');
-    $this->assertNoText($new_action_label, "Make sure the action label does not appear on the overview page after we've deleted the action.");
+    $this->assertNoText($new_action_label, 'Make sure the action label does not appear on the overview page after we have deleted the action.');
     $exists = db_query('SELECT aid FROM {actions} WHERE callback = :callback', array(':callback' => 'drupal_goto_action'))->fetchField();
     $this->assertFalse($exists, 'Make sure the action is gone from the database after being deleted.');
   }
diff --git a/core/modules/action/lib/Drupal/action/Tests/LoopTest.php b/core/modules/action/lib/Drupal/action/Tests/LoopTest.php
index 87fa08e..830c785 100644
--- a/core/modules/action/lib/Drupal/action/Tests/LoopTest.php
+++ b/core/modules/action/lib/Drupal/action/Tests/LoopTest.php
@@ -21,6 +21,11 @@ class LoopTest extends WebTestBase {
    */
   public static $modules = array('dblog', 'action_loop_test');
 
+  /**
+   * An action ID
+   *
+   * @var int|string
+   */
   protected $aid;
 
   public static function getInfo() {
