* Refactor factory pattern per review comments.
* Simplify callback handling per Factory pattern, to take a function instead of an Option of a function.
* Explicitly name the callback wrapper to improve visibility in debugging callbacks.
* Refactor tests, sacrificing (illusions of) test isolation to allow callback test additions.
* Mark the one-object factory pattern deprecated.