Use thread-safe queue to track async messages