I'd rather create them early so that they are available for the first call. And nothing prevents the user from changing the color of an instance at run-time. There is no other way (that I can see) other than lazy loading the service clients during the first call, which would definitely mean that the first call is lost.