Node and NodeChild refactoring.

Fixes #17