Now that we have a good pattern for running the async code from sync, we can reduce the duplication for service registration. The goal is to make this smaller and less complex so its easier to maintain in the future.