Lots of refactoring + logger cleanup + results handler decoupling