/// <summary>
        ///   Get the registered settings sub system
        /// </summary>
        /// <param name="kernel">Current <see cref="IKernelInternal" /> instance</param>
        /// <returns>Settings subsystem</returns>
        public static SettingsSubSystem GetSettingsSubSystem(this IKernelInternal kernel)
        {
            ISubSystem subSystem = kernel.GetSubSystem(SettingsSubSystem.SubSystemKey);

            if (subSystem != null)
            {
                return((SettingsSubSystem)subSystem);
            }

            SettingsSubSystem newSubSystem = new SettingsSubSystem();

            kernel.AddSubSystem(SettingsSubSystem.SubSystemKey, newSubSystem);

            return(newSubSystem);
        }