- Switched to async because it offers easy automatic reconnect features on connection failure - Adjusted notification path to reflect that change - Added in memory message queue if RMQ is not reachable