Don’t store temporary variables on tree nodes.
Rather than creating a temporary _tree hash on the tree nodes to store temporary variables needed to compute the tree layout, the tree is wrapped. This eliminates the risk of a namespace collision, and eliminates the need to subsequently delete temporary variables. (They will be garbage collected.)
Showing with 270 additions and 259 deletions