diff --git a/views_summarize.module b/views_summarize.module
index 180637e..7d6d556 100644
--- a/views_summarize.module
+++ b/views_summarize.module
@@ -50,15 +50,27 @@ function views_summarize_theme() {
  * List all of the handlers
  */
 function views_summarize_get_handlers() {
+  static $handlers = NULL;
+  if (!isset($handlers)) {
+    $handlers = module_invoke_all('views_summarize_handlers');
+  }
+  return $handlers;
+}
+
+
+/**
+ * Implements hook_views_summarize_handlers().
+ */
+function views_summarize_views_summarize_handlers() {
   return array(
-    'none'     => t('None'),
-    'count'    => t('Count'),
-    'range'    => t('Range'),
-    'total'    => t('Total'),
-    'currency' => t('Total (Currency)'),
-    'average'  => t('Average (include empty values)'),
-    'average_no_empties' => t('Average (exclude empty values)'),
-    'spread'   => t('Spread'),
+    'views_summarize_type_none'     => t('None'),
+    'views_summarize_type_count'    => t('Count'),
+    'views_summarize_type_range'    => t('Range'),
+    'views_summarize_type_total'    => t('Total'),
+    'views_summarize_type_currency' => t('Total (Currency)'),
+    'views_summarize_type_average'  => t('Average (include empty values)'),
+    'views_summarize_type_average_no_empties' => t('Average (exclude empty values)'),
+    'views_summarize_type_spread'   => t('Spread'),
   );
 }
 
@@ -68,7 +80,6 @@ function views_summarize_get_handlers() {
  */
 function template_preprocess_views_summarize_views_tablesummarized(&$vars) {
   template_preprocess_views_view_table($vars);
-  $handlers = views_summarize_get_handlers();
 
   if (!count($vars['rows'])) {
     return;
@@ -90,8 +101,7 @@ function template_preprocess_views_summarize_views_tablesummarized(&$vars) {
   $vars['summarized'] = array();
   foreach ($opts as $field => $settings) {
     if (isset($data[$field])) {
-      $theme = 'views_summarize_type_' . $settings['summarize'];
-      $vars['summarized'][$field] = theme($theme, array('data' => $data[$field]));
+      $vars['summarized'][$field] = theme($settings['summarize'], array('data' => $data[$field]));
     }
   }
 }
