bject} effectDef The effect definition.
   */
  Polymer.AppLayout.registerEffect = function registerEffect(effectName, effectDef) {
    if (Polymer.AppLayout._scrollEffects[effectName] != null) {
      throw new Error('effect `'+ effectName + '` is already registered.');
    }
    Polymer.AppLayout._scrollEffects[effectName] = effectDef;
  };


  Polymer.AppLayout.queryAllRoot = function(selector, root) {
    var queue = [root];
    var matches = [];

    while (queue.length > 0) {
      var node = queue.sh