Messaging around with asnyc calls and error handling.