/// <summary>
        /// Builds a copy of our colours we will use for printing.
        /// </summary>
        public ConsoleColours SetConsoleColours(ConsoleColours colours)
        {
            AllColours.Add(colours.TextColor);

            // Red
            AllColours.Add(colours.ColorRed);
            AllColours.Add(colours.ColorRedLight);

            // Pink
            AllColours.Add(colours.ColorPink);
            AllColours.Add(colours.ColorPinkLight);

            // Blue
            AllColours.Add(colours.ColorBlue);
            AllColours.Add(colours.ColorBlueLight);

            // LBlue
            AllColours.Add(colours.ColorLightBlue);
            AllColours.Add(colours.ColorLightBlueLight);

            // Green
            AllColours.Add(colours.ColorGreen);
            AllColours.Add(colours.ColorGreenLight);

            // Yellow
            AllColours.Add(colours.ColorYellow);
            AllColours.Add(colours.ColorYellowLight);

            return(colours);
        }
        /// <summary>
        /// Initializes the console settings to new defaults.
        /// i.e. Sets the default background and foreground colour.
        /// </summary>
        static LoaderConsole()
        {
            ConsoleOptions.PrintErrorMessage     = PrintErrorMessageDefault;
            ConsoleOptions.PrintInfoMessage      = PrintInfoMessageDefault;
            ConsoleOptions.PrintTextMessage      = PrintMessageDefault;
            ConsoleOptions.PrintWarningMessage   = PrintWarningMessageDefault;
            ConsoleOptions.InitConsole           = InitializeConsoleDefault;
            ConsoleOptions.PrintFormattedMessage = PrintFormattedMessageDefault;

            foreach (var configPlugin in PluginLoader.LoaderConfigPlugins)
            {
                ConsoleOptions = configPlugin.SetConsoleOptions(ConsoleOptions);
                Colours        = configPlugin.SetConsoleColours(Colours);
            }
        }