Support for this.callback instead of always passing a callback as the last argument.
Cleaner test code; test suite now throws an error on duplicate responses from the same method call.