/// <summary>
        /// Adds a server entry.
        /// </summary>
        /// <param name="serverName">Display name of the server.</param>
        /// <param name="serverAddress">Address of the server.</param>
        public static void AddServerEntry(string serverName, string serverAddress)
        {
            // Return if the entry exists.
            if (GetServerEntry(serverName) != null)
            {
                return;
            }

            // Add the entry.
            SystemInfo.Settings.Servers.Add(new ServerEntry()
            {
                ServerName    = serverName,
                ServerAddress = serverAddress,
            });
            SaveBackground();
            ServerListChanged?.Invoke();
        }
        /// <summary>
        /// Removes a server entry.
        /// </summary>
        /// <param name="serverName">Display name of the server.</param>
        public static void RemoveServerEntry(string serverName)
        {
            // Get the server entry and return if it doesn't exist.
            var serverEntry = GetServerEntry(serverName);

            if (serverEntry == null)
            {
                return;
            }

            // Remove the entry.
            SystemInfo.Settings.Servers.Remove(serverEntry);
            ServerListChanged?.Invoke();

            // Update the selected server. Updating also invokes saving.
            SetSelectedServer(SystemInfo.Settings.SelectedServer);
        }