Edge Case
Improve handling of SourceFunctions when we have pre-defined classes
Ensure we call the complete and done callbacks when a Matcher completes during the onProgress callback in fire()
Fix premature timeout call when resuming/shutting down engine in batch processing mode