second stab at params refactoring
add test for non-blocking generator, make sure threads exit