Ultra light wrapper around XHR requests that returns Promises for composition