we should guard against potentially calling the `callback` multiple times.