code: function traverseDescendants (nodes, handler) {
    nodes.forEach((node) => {
      var progress = true
      handler(node, () => progress = false)
      if (node.childTags && progress) {
        traverseDescendants(node.childTags, handler)
      }
    })
  }
docs: Walking recursive to invoke callbacks
  
  @param {Array.<HTMLElement>} nodes   - [description]
  @param {Function}            handler - [description]