Add tests for VisitorContext implementations.
Documentation and cleanup.
Simplify traversal process.
More cleanup.