docs: function get(url, bubbleError) {
  
          /* use url as key for the cache */
          var value = cache.fetch(url)
          var defer = $.Deferred()
  
          if (value) {
              return defer.resolve(value) /* return a resolved promise with the cached value */
          } else {
              try {
                  $.get(url)
                      .done(function(value) {
                          defer.resolve(cache.save(url, decode(value)))
                      }).fail(function(err) {
                          log(err.error)
                      })
              } catch (err) {
                  if (bubbleError) {
                      throw new Error(err)
                  } else {
                      log(err.error)
                  }
              }
          }
          return defer
      }