Use callbacks for speculative parsing.
Updated tests.