code: function RouteSchemas(options) {
    this.options = options || {};
  
    if (this.options && this.options.handlers && this.options.handlers.freezeStrategy) {
      this.freezeEventualSchemaStrategy = this.options.handlers.freezeStrategy;
    } else {
      this.freezeEventualSchemaStrategy = this._getDefaultFreezeStrategy;
    }
    this.filterWhitelistStrategy = this._getDefaultFilterWhitelistStrategy;
  
    this.routes = {};
  
    this._routeSchemaDefinition = {
      query: 'intention.query',
      body: 'intention.body',
      reaction: 'reaction'
    };
  
    this.cache = this.options.defaults && this.options.defaults.eventualSchemas && this.options.defaults.eventualSchemas.cache || false;
    this.cachePath = this.options.defaults && this.options.defaults.eventualSchemas && this.options.defaults.eventualSchemas.cachePath || './route-schemas.cache';
    if (this.cache) {
      this.load();
    }
  }
docs: How do we do this. --- * We sanity check and filter before making a request to Keen.IO. * We allow explicit generation of a whitelist to do the above with. * We also slowly build a schema which can be converted into a whitelist. This stores a list of routes that define eventual schemas and eventually their whitelists.