in reply to OO Identity Crisis
I find if odd that the module's caller must create the node. Do you create a hash node before putting data into a hash? No, the node (containing the key and the value) is created by the hash itself. A similar approach could be taken here. It's not like Node would ever need to be subclassed.