This allows a service to postpone communication with other services until it can be sure that it's registered with central dispatch. Service registration on the main thread always happens immediately, but that version of `setService` still returns a Promise for consistency.