converting to use normal callback architecture instead of cramming functions into class. this is actually especially important for notifiers because they should be read-only after creation because theres no telling wha tthreads are reading them at what times, and writing to them could cause very strange corruption.
exporting read-only functions for notifiers
converting threading test to use notifiers vs shared context (which admittedly was cool, but notifiers feel less "sticky")