it is harder to read because this class is already to big, I wanted to extract this methods to separate `Configuration` class to support more elastic configurations after this one gets merged, also it is a lot simpler to test this way, it's not yet reflected in tests, but you can separate tests for each method and prevent "random" failures by controlling each step