code: function Scope(storage) {
          this.storage = storage;
          storage.on("changed", this.load.bind(this));
          this.data = {};
          this._dirty = false;
          this._layers = [];
          this._layerMap = {};
          this._exclusions = [];
      }
docs: A `Scope` is a data container that is tied to a `Storage`.
  
  Additionally, `Scope`s support "layers" which are additional levels of preferences
  that are stored within a single preferences file.
  
  @constructor
  @param {Storage} storage Storage object from which prefs are loaded/saved