public ChessBoardViewModel(GameProvider gameProvider)
{
this.provider = gameProvider;
this.squareItems = new ObservableCollection<SquareItem>();
this.InitItems();
this.lastHighlightedSquares = new List<HighlightedSquare>();
// TODO remove this in future
this.CurrentPlayerColor = Color.White;
this.promotionViewModel = new PawnPromotionViewModel();
this.showOverlayState = Enums.ShowOverlayState.Nothing;
this.dispatcher = Dispatcher.CurrentDispatcher;
}