Added a fix for when callback called multiple times, only the first will resolve