I think this is fine for now. Devs have to be careful what they do in failed callbacks to avoid infinite loops.