not a big deal at the prototype stage, but I wonder if it would be more cohesive to pass open tag end as a token rather than using a combination of token traversal and callbacks.