Change mock async behavior to use the supplied Callback instance directly.

This allows service APIs to use Callback subtypes and mock behavior together. Previously this would have thrown an exception due to the internal assumption that all asynchronous APIs were declared using Callback directly.

Closes #476.