Minor refactor
Use a queue of AsyncResult<String> instead of String
Proper async result checking