on second thoughts, `n_epochs` isn't available in `_BaseEpochs` which means we've to think of some other way to break out of the loop