public GameHistoryViewModel(
            ISettings settings,
            IDimensionsViewModel dimensions,
            IHandHistoryViewModel handHistoryViewModel,
            IDispatcherTimer scrollToNewestHandTimer,
            ICollectionValidator collectionValidator)
        {
            _settings                = settings;
            CurrentHandHistory       = handHistoryViewModel;
            _scrollToNewestHandTimer = scrollToNewestHandTimer;
            _collectionValidator     = collectionValidator;

            Dimensions = dimensions.InitializeWith(settings.RetrieveRectangle(DimensionsKey, new Rectangle(0, 0, 600, 200)));

            _convertedHands = new List <IConvertedPokerHand>();

            RegisterEvents();
        }
        public PokerTableStatisticsViewModel(
            ISettings settings,
            IDimensionsViewModel dimensions,
            IConstructor <IPlayerStatisticsViewModel> playerStatisticsViewModelMake,
            IDetailedStatisticsAnalyzerViewModel detailedStatisticsAnalyzerViewModel,
            IActiveAnalyzablePlayersSelector activePlayersSelector,
            IFilterPopupViewModel filterPopupViewModel)
        {
            _settings = settings;
            _playerStatisticsViewModelMake = playerStatisticsViewModelMake;
            DetailedStatisticsAnalyzer     = detailedStatisticsAnalyzerViewModel;

            _activePlayersSelector = activePlayersSelector;

            FilterPopup = filterPopupViewModel;

            Dimensions = dimensions.InitializeWith(settings.RetrieveRectangle(DimensionsKey, new Rectangle(0, 0, 600, 400)));

            Players = new ObservableCollection <IPlayerStatisticsViewModel>();
        }