Refactored msg listening into own function to cleanup async calls
Add facility to auto-recover all uncompleted tasks on startup