ServiceController<?> installGroupCommunicationService(ServiceTarget target, String containerName, ServiceVerificationHandler verificationHandler) {
        final InjectedValue<Channel> channel = new InjectedValue<Channel>();
        final InjectedValue<ModuleLoader> loader = new InjectedValue<ModuleLoader>();
        return target.addService(CoreGroupCommunicationService.getServiceName(containerName), new CoreGroupCommunicationService(GROUP_COMMUNICATION_SERVICE_SCOPE, channel, loader))
                // AS7-3906 Ensure that the cache manager's rpc dispatcher starts before GroupCommunicationService's (since channel doesn't start until 1st cache starts)
                .addDependency(CacheService.getServiceName(containerName, null))
                .addDependency(ChannelService.getServiceName(containerName), Channel.class, channel)
                .addDependency(Services.JBOSS_SERVICE_MODULE_LOADER, ModuleLoader.class, loader)
                .setInitialMode(ServiceController.Mode.ON_DEMAND)