refactor Board.initPieces with PositionFactory