Subclassed Block with NodeBlock as an intermediate class for BranchBlock
and LeafBlock to share code