Remove coupling between iterator and dataset through dataset's data