public static void AddMessageHubCommunication(
            this Container container,
            string serviceBusConnectionString,
            MessageHubConfig messageHubConfig,
            string storageServiceConnectionString,
            StorageConfig storageConfig)
        {
            ArgumentNullException.ThrowIfNull(container, nameof(container));
            Guard.ThrowIfNullOrWhiteSpace(serviceBusConnectionString, nameof(serviceBusConnectionString));
            ArgumentNullException.ThrowIfNull(messageHubConfig, nameof(messageHubConfig));
            Guard.ThrowIfNullOrWhiteSpace(storageServiceConnectionString, nameof(storageServiceConnectionString));
            ArgumentNullException.ThrowIfNull(storageConfig, nameof(storageConfig));

            container.RegisterSingleton(() => messageHubConfig);
            container.RegisterSingleton(() => storageConfig);
            container.AddServiceBus(serviceBusConnectionString);
            container.AddApplicationServices();
            container.AddStorageHandler(storageServiceConnectionString);
        }