Handle processing promise callbacks independently from transition callback. Closes #2933