Is it preferable to pass a FEN notation or list of moves to a chess engine? I am actually programming a chess UI and I'd like to communicate with a chess engine using UCI protocol. After reading the protocol specifications, I am not sure how to use the position command. For each move, is it better to pass to the chess engine a FEN notation of the actual state of the board or pass it the list of all moves that have been played since the beginning of the game?
It is preferable to pass a PGN because FEN is just a position with no move,  but a PGN is the whole game with moves.