static public function getDefaultCacheHandler() {
        if(!isset(self::$defaultCacheHandler)) {            
            global $container;
            if(self::BACKWORDS_COMPATIBLE && isset($container) && isset($container['memcache'])) {
                // Backwards Compatibility
                if(class_exists("Memcache") && is_a($container['memcache'], "Memcache")) {
                    self::$defaultCacheHandler = new CacheHandler\Memcache($container['memcache']);
                } else if (class_exists("Memcached") && is_a($container['memcache'], "Memcached")) {
                    self::$defaultCacheHandler = new CacheHandler\Memcached($container['memcache']);    
                } else {
                    trigger_error("Before using NoizuLabs/Fragmented you must set a cache handler using NoizuLabs\FragmentedKeys\Configuration::setDefaultCacheHandler(ICacheHandle \$handler) or use only KeyRing entries with a specified storage mechanism.", E_USER_ERROR);    
                }
            }  else {
                trigger_error("Before using NoizuLabs/Fragmented you must set a cache handler using NoizuLabs\FragmentedKeys\Configuration::setDefaultCacheHandler(ICacheHandle \$handler) or use only KeyRing entries with a specified storage mechanism.", E_USER_ERROR);
            }
        }
        return self::$defaultCacheHandler;
    }