[client] defer all hooks from their threads