Simplify interface for Node and Selector objects, and delegate logic for HashNode and ArrayNode to underlying Hash or Array