a callback *must* be called exactly once.