private void execute(Runnable task) {
        if (endpointInitialized) {
            ctx.eventLoop().execute(task);
        } else {
            addPendingTask(task);
        }
    }
Encapsulates the state of a single client call, writing messages from the client and reading responses
from the server, passing to business logic via {@link ClientCall.Listener}.
grpc/src/main/java/com/linecorp/armeria/internal/client/grpc/ArmeriaClientCall.java