}
private void evolveCellNeighbours(Board nextBoard, Set<Position> neighbours) {
for (Position neighbourPosition: neighbours) {
Cell nextNeighbourState = determineCellAt(neighbourPosition).evolveIntoNewState(this);
nextNeighbourState.attachToBoard(nextBoard);
}
}
private Cell determineCellAt(Position neighbourPosition) {
return new CellFromPositionFactory().determineCellAt(neighbourPosition);