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], {})
            });
        }
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], {})
            });
        }
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 ] , { } ) } ) ; }
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
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 .
add layer to the list of layers