bfc97ff2cd
I put an extractor into your extract so you can extract while you extract. This allows integrators to call Extractor as a library. Also refactors Extractor a bit so that callers need fewer arguments or arguments that are at the right semantic level. The refactoring causes no function change.