Научился: Всё отлично, идём дальше.
з.ы.
по поводу доступа по-умолчанию, я наоборот пишу то, что мне надо, в данном случае private, так как в Java по-умолчанию pakage-private и это не всегда приемлемо, поэтому если вдруг в C# тоже добавят что-то такое и изменят доступность по-умолчанию, то это будет не есть хорошо =)
Научился: Выполнил рефакторинг кода. Создал новый класс NextBoard который наследует класс Board.
В новый класс переместил методы связанные с изменениями которые необходимо делать для хода.
В результате в методе Move теперь мы просто возвращаем объект NextBoard.