The ModelControllerClientConfiguration provides an ExecutorService but the builder does not provide a way to set it. And then the impl has a field to toggle whether the executor is shut down by the close() method, but there is no way to set that field. It always ends up 'true'.
1) Add setters to the builder for both the executor and the shutdown field.
2) Default for the shutdown field depends on whether the executor got set. If the user passes in an executor, then we assume they control its lifecycle. If they don't and the standard one gets used, then closing the config should close the executor. And if the user doesn't like those defaults they can set the flag themselves.