Allow arbitrary data to be associated with nodes
Allow property values to be functions that resolve to the actual value