diff --git a/hosting.api.php b/hosting.api.php
index acad97b..b7f49b2 100644
--- a/hosting.api.php
+++ b/hosting.api.php
@@ -379,7 +379,8 @@ function hosting_TASK_SINGULAR_summary() {
 }
 
 /**
- * Reacts to tasks ending, with any status.
+ * Reacts any time a task has it's status updated, including when being run in
+ * the queue, ending, or being cancelled.
  *
  * @param object $task
  *   The task that has just completed.
diff --git a/hosting.css b/hosting.css
index 49f1be5..fe185b8 100644
--- a/hosting.css
+++ b/hosting.css
@@ -119,7 +119,7 @@ tr.hosting-error,
   background-color: #fa8 !important;
 }
 
-tr.hosting-queued,
+tr.hosting-queue,
 tr.hosting-processing,
 #hosting-package-comparison td.hosting-package-same {
   background-color: #e0e8f0 !important;
@@ -141,7 +141,7 @@ tr.hosting-warning .hosting-status,
 
 tr.hosting-info .hosting-status { background-image: url(images/icon-notice.png); }
 
-tr.hosting-queued .hosting-status,
+tr.hosting-queue .hosting-status,
 td.hosting-package-same {
   background-image: url(images/icon-queue.png);
 }
@@ -168,7 +168,7 @@ td.hosting-package-upgrade {
 tr.hosting-warning td,
 tr.hosting-info td,
 tr.hosting-error td,
-tr.hosting-queued td,
+tr.hosting-queue td,
 tr.hosting-disable td,
 tr.hosting-success td {
   background-color:transparent !important;
diff --git a/task/hosting_task.module b/task/hosting_task.module
index b996478..444c276 100644
--- a/task/hosting_task.module
+++ b/task/hosting_task.module
@@ -945,6 +945,7 @@ function hosting_task_insert($node) {
         ->execute();
     }
   }
+  module_invoke_all('hosting_task_update_status', $node, $node->task_status);
   hosting_task_set_title($node);
 }
 
@@ -988,6 +989,7 @@ function hosting_task_update($node) {
           ->execute();
       }
     }
+    module_invoke_all('hosting_task_update_status', $node, $node->task_status);
   }
 }
 
@@ -1793,37 +1795,31 @@ function hosting_task_fetch_tasks($rid) {
 }
 
 /**
- * Return a machine name for each state.
- */
-function hosting_task_status_name($hosting_task_status = NULL) {
-  $codes = array(
-    HOSTING_TASK_SUCCESS    => 'success',
-    HOSTING_TASK_QUEUED     => 'queued',
-    HOSTING_TASK_ERROR      => 'error',
-    HOSTING_TASK_PROCESSING => 'processing',
-    HOSTING_TASK_WARNING    => 'warning',
-  );
-  if (!is_null($hosting_task_status) && isset($codes[$hosting_task_status])) {
-    return $codes[$hosting_task_status];
-  }
-  elseif (!is_null($hosting_task_status) && !isset($codes[$hosting_task_status])) {
-    return '';
-  }
-  else {
-    return $codes;
-  }
-}
-
-/**
- * Return a css class from a hosting task status integer value.
+ * Traslate a task status code into a css class.
  */
 function hosting_task_status_class($status = NULL) {
-  if (!is_null($status) && $name = hosting_task_status_name($status)) {
-    return 'hosting-' . $name;
-  }
-  else {
-    return '';
+  $class = NULL;
+  if (!is_null($status)) {
+    switch ($status) {
+      case HOSTING_TASK_SUCCESS:
+        $class = 'hosting-success';
+        break;
+      case HOSTING_TASK_ERROR:
+        $class = 'hosting-error';
+        break;
+      case HOSTING_TASK_QUEUED:
+        $class = 'hosting-queue';
+        break;
+      case HOSTING_TASK_PROCESSING:
+        $class = 'hosting-processing';
+        break;
+      case HOSTING_TASK_WARNING:
+        $class = 'hosting-warning';
+        break;
+    }
   }
+
+  return $class;
 }
 
 /**
