More work on handling response (async is still hard!)