diff --git a/breakpoints.install b/breakpoints.install
index 354ef7c..1df1501 100644
--- a/breakpoints.install
+++ b/breakpoints.install
@@ -88,6 +88,7 @@ function breakpoints_schema() {
         'minimum_version' => 1,
         'current_version' => 1,
       ),
+      'cache defaults' => TRUE,
     ),
   );
   $schema['breakpoint_group'] = array(
@@ -152,6 +153,7 @@ function breakpoints_schema() {
         'minimum_version' => 1,
         'current_version' => 1,
       ),
+      'cache defaults' => TRUE,
     ),
   );
   return $schema;
diff --git a/breakpoints.module b/breakpoints.module
index edc23f2..4c2e7c9 100644
--- a/breakpoints.module
+++ b/breakpoints.module
@@ -10,9 +10,6 @@ define('BREAKPOINTS_SOURCE_TYPE_THEME', 'theme');
 define('BREAKPOINTS_SOURCE_TYPE_MODULE', 'module');
 define('BREAKPOINTS_SOURCE_TYPE_CUSTOM', 'custom');
 define('BREAKPOINTS_GROUP', 'group');
-define('BREAKPOINTS_CID', 'breakpoints');
-define('BREAKPOINTS_GROUP_CID', 'breakpoint_groups');
-define('BREAKPOINTS_CACHE_BIN', 'cache');
 
 /**
  * Implements hook_permission().
@@ -363,19 +360,12 @@ function breakpoints_breakpoint_load($name, $source, $source_type) {
  * Load a single breakpoint using the full config key.
  */
 function breakpoints_breakpoint_load_by_fullkey($machine_name = NULL) {
-  $breakpoints = &drupal_static(__FUNCTION__, NULL);
+  $breakpoints = &drupal_static(__FUNCTION__);
 
-  if (!is_array($breakpoints)) {
-    // See if we have breakpoints stored in drupal's cache.
-    if ($cache = cache_get(BREAKPOINTS_CID)) {
-      $breakpoints = $cache->data;
-    }
-    else {
-      // Use Ctools export API to fetch all presets from the DB as well as code.
-      ctools_include('export');
-      $breakpoints = ctools_export_load_object('breakpoints');
-      cache_set(BREAKPOINTS_CID, $breakpoints, BREAKPOINTS_CACHE_BIN);
-    }
+  if (!isset($breakpoints)) {
+    // Use Ctools export API to fetch all presets from the DB as well as code.
+    ctools_include('export');
+    $breakpoints = ctools_export_crud_load_all('breakpoints');
   }
 
   if ($machine_name) {
@@ -498,9 +488,7 @@ function breakpoints_breakpoint_save(&$breakpoint) {
   $result = drupal_write_record('breakpoints', $breakpoint, $update);
   // Reset CTools cache.
   ctools_export_load_object_reset('breakpoints');
-
-  // Wipe the entry from the cache table.
-  cache_clear_all(BREAKPOINTS_CID, BREAKPOINTS_CACHE_BIN);
+  drupal_static_reset('breakpoints_breakpoint_load_by_fullkey');
 
   return $result;
 }
@@ -524,9 +512,7 @@ function breakpoints_breakpoint_delete_by_fullkey($key) {
   // Clear the Ctools export API cache.
   ctools_include('export');
   ctools_export_load_object_reset('breakpoints');
-
-  // Wipe the entry from the cache table.
-  cache_clear_all(BREAKPOINTS_CID, BREAKPOINTS_CACHE_BIN);
+  drupal_static_reset('breakpoints_breakpoint_load_by_fullkey');
 }
 
 /**
@@ -604,19 +590,12 @@ function breakpoints_breakpoint_group_load_all() {
  * Load a single breakpoint group.
  */
 function breakpoints_breakpoint_group_load($name = NULL) {
-  $groups = &drupal_static(__FUNCTION__, NULL);
+  $groups = &drupal_static(__FUNCTION__);
 
-  if (!is_array($groups)) {
-    // See if we have breakpoints stored in drupal's cache.
-    if ($cache = cache_get(BREAKPOINTS_GROUP_CID)) {
-      $groups = $cache->data;
-    }
-    else {
-      // Use Ctools export API to fetch all presets from the DB as well as code.
-      ctools_include('export');
-      $groups = ctools_export_load_object('breakpoint_group');
-      cache_set(BREAKPOINTS_GROUP_CID, $groups, BREAKPOINTS_CACHE_BIN);
-    }
+  if (!isset($groups)) {
+    // Use Ctools export API to fetch all presets from the DB as well as code.
+    ctools_include('export');
+    $groups = ctools_export_crud_load_all('breakpoint_group');
   }
 
   if ($name) {
@@ -672,9 +651,7 @@ function breakpoints_breakpoint_group_save(&$breakpoint_group) {
   }
   // Reset CTools cache.
   ctools_export_load_object_reset('breakpoint_group');
-
-  // Wipe the entry from the cache table.
-  cache_clear_all(BREAKPOINTS_GROUP_CID, BREAKPOINTS_CACHE_BIN);
+  drupal_static_reset('breakpoints_breakpoint_group_load');
 
   return $result;
 }
@@ -706,10 +683,8 @@ function breakpoints_breakpoint_group_delete_by_fullkey($key) {
   // Clear the Ctools export API cache.
   ctools_include('export');
   ctools_export_load_object_reset('breakpoint_group');
+  drupal_static_reset('breakpoints_breakpoint_group_load');
   variable_set('menu_rebuild_needed', TRUE);
-
-  // Wipe the entry from the cache table.
-  cache_clear_all(BREAKPOINTS_GROUP_CID, BREAKPOINTS_CACHE_BIN);
 }
 
 /**
