updating both together since there's a circular dependency
Concurrency recipes using the V3 API (sans leases).