https://cubicgarden.com/2013/03/09/build-for-asynchronous-communication/
Build for asynchronous communication