Fairly significant rewrite to pull apart creating a node from the node
collection.

General improvements to serialization etc.

Currently in a broken state, but hopefully not too far off.