Introduce Traversal visitor for DRY love
ApplyState now uses visitor
DRY up invokation of traversal
Build out QueryMethod object, axe split_hash
Move #traverse! to top level class
QueryState now traverses
QueryChanges now uses traverse
Method #setup is private now
Unextract method
Move Traversal to its own file
Remove XXX that is no longer applicable
Dedup the calls to Aggregate.new