I'd prefer that this service discovery stuff be hidden behind an interface...  And, for that matter, the serviceInstance() stuff should probably be moved out of "Initialization" 'cause it's not really just Initialization anymore.