The doRNG package ensures reproducibility in a similar way that imabc currently manually manages. Could the doRNG package be used directly to streamline and generalize the run_handler etc.?
https://cran.r-project.org/web/packages/doRNG/vignettes/doRNG.pdf