public void MoveBlock(BoardSlot from, BoardSlot to)
        {
            to.PutBlock(from.GetBlock());
            from.PutBlock(null);

            OnBoardSlotChanged(BoardSlotChangedEventArgs.FromBoardSlot(from, BoardSlotChangeOrigin.Moved));
            OnBoardSlotChanged(BoardSlotChangedEventArgs.FromBoardSlot(to, BoardSlotChangeOrigin.Moved));
        }
 public void ReplaceBlock(BoardSlot boardSlot, Block block)
 {
     boardSlot.PutBlock(block);
     OnBoardSlotChanged(BoardSlotChangedEventArgs.FromBoardSlot(boardSlot, BoardSlotChangeOrigin.MergedInto));
 }