src/preferences/PreferencesBase.js
function Scope(storage) {
        this.storage = storage;
        storage.on("changed", this.load.bind(this));
        this.data = {};
        this._dirty = false;
        this._layers = [];
        this._layerMap = {};
        this._exclusions = [];
    }
function Scope(storage) {
        this.storage = storage;
        storage.on("changed", this.load.bind(this));
        this.data = {};
        this._dirty = false;
        this._layers = [];
        this._layerMap = {};
        this._exclusions = [];
    }
function Scope ( storage ) { this . storage = storage ; storage . on ( "changed" , this . load . bind ( this ) ) ; this . data = { } ; this . _dirty = false ; this . _layers = [ ] ; this . _layerMap = { } ; this . _exclusions = [ ] ; }
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
A Scope is a data container that is tied to a Storage .