Refactor EngineHost out
Lots of cleanup
Extend tests to cover output better