prevent multiple invocations of `callback`s