https://peterkellner.net/2012/09/05/passing-completion-functions-with-javascript-windows-8-and-xhr/