It'll actually be the trainer's job to follow the splits. This way, if you fancy doing cross validation, you're not stuck with multiple ``Dataset``.
Though I agree we should maybe define the iterators directly from ``Dataset``.