Fix valid_move to transfer responsibility to Pieces