Fix move index bugs by storing the index on the move and always treating accepted moves as an array