public CandylandBoardProcesses GameBoard1; //i think
 public CandylandMainGameClass(IGamePackageResolver resolver,
                               IEventAggregator aggregator,
                               BasicData basic,
                               TestOptions test,
                               CandylandVMData model,
                               IMultiplayerSaveState state,
                               IAsyncDelayer delay,
                               CommandContainer command,
                               DrawShuffleClass <CandylandCardData, CandylandPlayerItem> shuffle,
                               CandylandBoardProcesses gameBoard1,
                               BasicGameContainer <CandylandPlayerItem, CandylandSaveInfo> gameContainer
                               ) : base(resolver, aggregator, basic, test, model, state, delay, command, gameContainer)
 {
     _test                      = test;
     _command                   = command;
     _shuffle                   = shuffle;
     GameBoard1                 = gameBoard1;
     _shuffle.CurrentPlayer     = CurrentPlayer;
     _shuffle.AfterDrawingAsync = AfterDrawingAsync;
 }
        //this is iffy.  because there is no afterdraw interface (?)
        //may be forced to refer to candyland to see how i handled that situation.

        public SorryMainGameClass(IGamePackageResolver resolver,
                                  IEventAggregator aggregator,
                                  BasicData basic,
                                  TestOptions test,
                                  SorryVMData model,
                                  IMultiplayerSaveState state,
                                  IAsyncDelayer delay,
                                  CommandContainer command,
                                  SorryGameContainer container,
                                  DrawShuffleClass <CardInfo, SorryPlayerItem> shuffle,
                                  GameBoardProcesses gameBoard
                                  ) : base(resolver, aggregator, basic, test, model, state, delay, command, container)
        {
            _model     = model;
            _command   = command;
            _shuffle   = shuffle;
            _gameBoard = gameBoard;
            _shuffle.AfterDrawingAsync = AfterDrawingAsync;
            _shuffle.CurrentPlayer     = (() => SingleInfo !);
            _shuffle.AfterFirstShuffle = TestCardOnTop;
        }