In my opinion a "global configuration" API like this is a terrible, terrible anti-pattern which Mimic should *not* be copying.

To be fair, lots of big, ostensibly "good" software does this; Django is a particularly bad offender.  So I understand where the idea that this is OK might come from.

"Configuration" is another word for "data that we don't know what it is".  Rather than not knowing what it is, each object that requires certain data should receive that data to its constructor as specific, documented data types.  There may still need to be a "config file" of course, but expressing it in this way, where there's just a big unstructured blob of crud that application code pulls stuff out of, is a recipe for problems.