* Refactor Engine to wait for workers in a Finish method This should allow the engine to run multiple concurrent scans if desired before shutting down. Additionally, this commit refactors some of the printing logic to the output package. * Fix tests
* Refactor Engine to wait for workers in a Finish method This should allow the engine to run multiple concurrent scans if desired before shutting down. Additionally, this commit refactors some of the printing logic to the output package. * Fix tests