_> При инициализации необходимо по-разному настроить в зависимости от окружения (prod, test, dev). В этом случае использовать некий DEFAULT не получится, т.к. надо создавать объект каждый раз.
Выглядит как каноничный dependency injection
_>использовать некий DEFAULT _> А чтобы не усложнять конструктор объекта использовать monkey patch. В этом случае все сведется к решению со статик-переменной.
Вместо статик переменной лучше фабричный метод тогда уж. Который в зависимости от твоего DEFAULT<prod/dev/test> будет давать нужные объекты