These methods kinda hang in the `main` scope here, what about putting them to the `Randomizer` class, or abstract the classes a bit more and put it into some "main" class, like `RandomizedRunner` or something like that?

Then the main executable code around line 300, can just call `RandomizedRunner.new(some arguments).run!`?