thinking or invoking an RPC concurrently. When a
caller thread invokes an RPC, it causes a sequence
of actions to be executed by the component threads.
When a caller thread finishes an WC!,th at is,
receives a call result/error, it spends some time
thinking, then invokes a new RPC and so on.