Perhaps take the `caret::train()` route and have a vector of seeds as a control argument and add a lot of `with_seed()` to the different modules.