rolling back change for AMD due the fact that Promise is a function with members, hence AMD will try to execute it instead of just using it by reference