Basically, we currently have an Adapter class that handles both the transformation and the iteration.
The issue is that we sometimes need to use the adapter transformation logic WITHOUT having a full dataset.
For instance if, you want to transform on the fly a batch.
The solution is to make a clear distinction between the transformations and the iteration.
All the other changes are consequences of this change.
Motivation
Basically, we currently have an Adapter class that handles both the transformation and the iteration. The issue is that we sometimes need to use the adapter transformation logic WITHOUT having a full dataset. For instance if, you want to transform on the fly a batch.
The solution is to make a clear distinction between the transformations and the iteration.
All the other changes are consequences of this change.