When a RemoteProcedureCall may be expected to take some time, it is necessary to return an immediate result, and then later, when the request completes an asynchronous notification (an AsyncEventMessage) needs to be sent concerning the original request. When this final notification is sent out, it is necessary to tie the returned result back with the original request.
This is accomplished by returning an AsyncRequestId immediately from the original request, and then attaching this same AsyncRequestId as part of the final AsyncEventMessage.
