Changes to RBNode to make it more generally useful