Added test case for issue #3.
Add `opaque` parameter back into callback, was incorrectly removed during cleanup.