The asynchronous nature of messaging tends
to be foreign to most developers because they’re used to using synchronous calls
in the applications they build. Using asynchronous calls in your applications
requires a different style of thinking and a different set of APIs.