when no payload is passed to instrument, manage args properly

We generally prefer not to reassign variables from the function signature.  Can you tweak this to make `callback` and `_payload` local variables (renaming the passed in values like `initialCallback` or something)?