The Caller Enqueuer provided to the concrete async message is used to notify its completion to the caller and since the mechanism of the notification requires that the caller be an Actor then it makes sense to change the default behavior, to simplify the API, by assuming that if no enqueuer is provided then it is the actor itself that sent the Async Message. This implementation requires a check that the Completion Notification Message has been assigned we could do this by comparing the actual completion notification message to the one read by pulling it out from the default constant of the abstract async message.