diff --git a/blockgroup.module b/blockgroup.module
index 15eafea..ab8a593 100644
--- a/blockgroup.module
+++ b/blockgroup.module
@@ -259,8 +259,8 @@ function blockgroup_block_list_alter(&$blocks) {
   // other modules doing the same thing than we do.
   $group_regions = array();
   foreach ($blocks as $bid => $block) {
-    if ($block->module == 'blockgroup') {
-      $group_regions['blockgroup_' . $blocks[$bid]->delta] = $bid;
+    if ($block->module === 'blockgroup') {
+      $group_regions[blockgroup_region_for_blockgroup($blocks[$bid]->delta)] = $bid;
     }
   }
 
@@ -316,7 +316,7 @@ function blockgroup_block_list_alter(&$blocks) {
 function blockgroup_block_view($delta) {
   $block['content'] = array(
     '#type' => 'blockgroup_pullup',
-    '#key' => 'blockgroup_' . $delta,
+    '#key' => blockgroup_region_for_blockgroup($delta),
   );
   return $block;
 }
@@ -345,7 +345,7 @@ function blockgroup_page_alter(&$page) {
 
     // If this is a blockgroup region, move it into $page['#blockgroups'] in
     // order to prevent certain themes from messing with them.
-    if (substr($region, 0, 11) == 'blockgroup_') {
+    if (blockgroup_region_is_blockgroup($region)) {
       $page['#blockgroups'][$region] = $blocks;
       unset($page[$region]);
     }
@@ -374,9 +374,9 @@ function blockgroup_theme() {
  * template for this particular block group.
  */
 function blockgroup_preprocess_block(&$variables) {
-  if ($variables['block']->module == 'blockgroup') {
+  if ($variables['block']->module === 'blockgroup') {
     array_unshift($variables['theme_hook_suggestions'], 'block__blockgroup__default');
-    $variables['region'] = 'blockgroup_' . $variables['block']->delta;
+    $variables['region'] = blockgroup_region_for_blockgroup($variables['block']->delta);
 
     // Allow the use of a region--blockgroup.tpl.php template that will affect
     // all block group regions.
@@ -391,7 +391,7 @@ function blockgroup_preprocess_block(&$variables) {
  * Insert 'blockgroup' into classes array for regions defined by this module.
  */
 function blockgroup_preprocess_region(&$variables) {
-  if (substr($variables['region'], 0, 11) == 'blockgroup_') {
+  if (blockgroup_region_is_blockgroup($variables['region'])) {
     $variables['classes_array'][] = 'blockgroup';
   }
 }
@@ -418,7 +418,7 @@ function blockgroup_form_block_admin_display_form_alter(&$form, &$form_state) {
   $blockgroups = blockgroup_list();
 
   foreach ($blockgroups as $delta => $title) {
-    $key = 'blockgroup_' . $delta;
+    $key = blockgroup_region_for_blockgroup($delta);
     $region_anchor = drupal_clean_css_identifier('region-' . $key);
     $block_anchor = drupal_clean_css_identifier('block-' . $key);
 
@@ -477,7 +477,7 @@ function blockgroup_region_list() {
   $regions = array();
 
   foreach (blockgroup_list() as $delta => $title) {
-    $regions['blockgroup_' . $delta] = t('Block group: @title', array('@title' => $title));
+    $regions[blockgroup_region_for_blockgroup($delta)] = t('Block group: @title', array('@title' => $title));
   }
 
   return $regions;
@@ -544,3 +544,31 @@ function blockgroup_rebuild_data() {
   system_rebuild_theme_data();
   drupal_theme_rebuild();
 }
+
+
+/**
+ * Tests whether a given region is defined by blockgroup.
+ *
+ * @param string $region_key
+ *   The machine name of a region.
+ *
+ * @returns bool
+ *   TRUE if this region is defined by a block group, FALSE otherwise.
+ */
+function blockgroup_region_is_blockgroup($region_key) {
+  return substr($region, 0, 11) === 'blockgroup_';
+}
+
+
+/**
+ * Returns the region name defined by the given blockgroup.
+ *
+ * @param string $delta
+ *   The machine name of the blockgroup.
+ *
+ * @returns string
+ *   The machine name of the region.
+ */
+function blockgroup_region_for_blockgroup($delta) {
+  return 'blockgroup_' . $delta;
+}
