moving test runner
more work on session state
put discovery polling back on the main thread to avoid some fairly annoying lock issues