code: function saveData(id, data) {
      console.log('saveData', arguments);
      var filename = getFilename(id);
      if (typeof data === 'undefined') {
        // Check if the file exists
        if (options.cacheValues) {
         if (typeof cachedData[id] !== 'undefined') {
           return unlink(filename);
         }
        } else if (options.cacheKeys) {
           if (cachedKeys.indexOf(id) !== -1) {
             return unlink(filename);
           }
        } else {
          // Check if file exists
          return access(filename, fs.R_OK | fs.W_OK).then(function() {
            return unlink(filename);
          }, function(err) {
            if (err.code === 'ENOENT') {
              return Promise.resolve(undefined);
            } else {
              return Promise.reject(err);
            }
          });
        }
      } else {
        return writeFile(filename, JSON.stringify(data, null, 2));
      }
    }
docs: @private
  Does the actual saving of the data to the file. Called by (@see save)
  
  @param {String} id String identifier of parameter that is to be saved
  @param {*} data Data to be saved. If undefined, current value will be
  deleted.
  
  @returns {Promise} A promise that will resolve when the save is complete