Refactored PieceMove, removed MoveIter