Add additional functions, including making TreeNodes a little more pythonic (although not overly optimized).  Also add comments to explain the design decisions within the TreeGrid/TreeNode views.