Make all callbacks consistently async.  Don't call them synchronously under only certain code paths.