walkTree(callback) {
    if (this.root) {
      this.walkBranch(this.root, callback)
    }
  }
Perform a depth-first walk of the tree structure, invoking a `callback` function for
each node. The `callback` will be passed the current tree node object, and will be invoked
for parent branch nodes first before their child nodes.

If the function returns `false` for a branch node, none of that branch's children will be
visited; this is how you can efficiently query the tree by filtering out the majority of branches.

@param {Function} callback