Add a bit more test coverage.
Add ability to pass the context that the callback should be run in.