/// <summary>
        /// Initializes the scoreboard server controller and logger.
        /// </summary>
        internal ScoreboardServer()
        {
            _scoreboardServerController = new ScoreboardServerController();

            Logger.Log(LogLevel.Info, Resources.ScoreServer_Log_ServerConnected);

            InitializeLoggingListeners();
        }
        /// <summary>
        /// Creates an instance from a connected client SocketState.
        /// </summary>
        /// <param name="scoreboardServerController">The scoreboard server controller instance.</param>
        /// <param name="state">The client's SocketState.</param>
        public ClientCommunicator(ScoreboardServerController scoreboardServerController, SocketState state)
        {
            _scoreboardServerController = scoreboardServerController;

            _state = state;

            // Listen for socket state events.
            _state.DataReceived += OnDataReceived;
            _state.Disconnected += OnDisconnected;
        }