code: function(key, val, isSync, fn) {
      var filepath = this._makeFilepath(key);
  
          // Create cache key
      var cache = {
        ttl: new Date(Date.now() + this.ttl),
        data: val
      };
  
      var data = JSON.stringify(cache);
      var  method = isSync ? 'writeFileSync' : 'writeFile';
      var args = [filepath, data, 'UTF8', isSync ? null : fn];
  
      return fs[method].apply(fs, args);
    }
docs: /*
  @visibility private
  @param {Mixed} key - A JSON stringifiable value
  @param {Mixed} val - a JSON stringifiable value
  @param {Boolean} isSync - specifies which fs call to use
  @param {Function} [fn] - A function called only if the value is async