public WorldObserver(WorldTime worldTime, LogRendererState logRendererState)
        {
            worldTime.ThrowIfNull("worldTime");
            logRendererState.ThrowIfNull("logRendererState");

            _worldTime = worldTime;
            _logRendererState = logRendererState;
        }
        public WorldObserver(WorldTime worldTime, LogRendererState logRendererState)
        {
            worldTime.ThrowIfNull("worldTime");
            logRendererState.ThrowIfNull("logRendererState");

            _worldTime        = worldTime;
            _logRendererState = logRendererState;
        }
        private void CreateRendererStates()
        {
            _logRendererState = new LogRendererState
                {
                    Visible = _logConfiguration.Visible,
                    MaximumVisibleLogLines = _logConfiguration.MaximumVisibleLogLines,
                    MinimumWindowWidth = _logConfiguration.MinimumWindowWidth,
                    LogEntryLifetime = _logConfiguration.LogEntryLifetime,
                    ShowTimestamps = _logConfiguration.ShowTimestamps,
                    ShowRaisingEvents = _logConfiguration.ShowRaisingEvents
                };
            _worldTimeRendererState = new WorldTimeRendererState
                {
                    Visible = _worldTimeConfiguration.Visible
                };

            var worldTime = new WorldTime(_worldTimeRendererState);
            var worldObserver = new WorldObserver(worldTime, _logRendererState);

            _worldInstance = new WorldInstance(_world, _player, worldTime, worldObserver, _multimediaPlayer);

            _boardRendererState = new BoardRendererState(_worldInstance.Player);
            _fpsRendererState = new FpsRendererState
                {
                    Visible = _fpsConfiguration.Visible
                };
        }