Moved node traversal to Composite, cleanup, unit tests