code: function (layer) {
              this._layers.push(layer);
              this._layerMap[layer.key] = layer;
              this._exclusions.push(layer.key);
              this.trigger(PREFERENCE_CHANGE, {
                  ids: layer.getKeys(this.data[layer.key], {})
              });
          }
docs: Adds a Layer to this Scope. The Layer object should define a `key`, which
  represents the subset of the preference data that the Layer works with.
  Layers should also define `get` and `getKeys` operations that are like their
  counterparts in Scope but take "data" as the first argument.
  
  Listeners are notified of potential changes in preferences with the addition of
  this layer.
  
  @param {Layer} layer Layer object to add to this Scope