/// <summary>
        /// Registers the <see cref="IHub"/> implementations found in the given assemblies.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <param name="assemblies">The assemblies.</param>
        /// <returns>The container.</returns>
        /// <exception cref="ArgumentNullException">
        /// If <paramref name="container"/> is <c>null</c>.
        /// </exception>
        public static IStashboxContainer RegisterHubs(this IStashboxContainer container, params Assembly[] assemblies)
        {
            Shield.EnsureNotNull(container, nameof(container));

            if (assemblies.Length > 0)
            {
                container.RegisterAssemblies(assemblies,
                                             type => typeof(IHub).IsAssignableFrom(type),
                                             context => context.WithoutDisposalTracking());
            }

            return(container);
        }