add a bunch of failing tests
add basic tests for Factory; move non-Factory NewHookContext func into export_test (to keep existing tests passing, but prevent other people from creating contexts in unhelpful ways