This struct is used to own a [NodeData] inside an Arc. The Arc
can be shared, so that it can have multiple owners. It does not have
getter methods for [NodeData]’s properties, instead it implements the
Deref trait to allow it to be used as a [NodeData].