Add response

I had a play around and this works really nicely. The only limitation I could see is the fact that when all async requests are completed, you would expect to have the responses at your disposal. This pull request adds support for that!

I also went ahead and added [strict mode](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode) - I hope this is okay.