Making sure that only one partial mock exists per object.
Cleaning up macro state when exceptions are encountered.
Raising more descriptive exception when trying to verify unknown method.
More robust state clean-up in exceptional circumstances.