Чем больше программируете, тем больше желаете, как можно меньше писать кода. Не всегда это правильное решение, но желание есть всегда. Также хотел отделить реализацию Singleton. Пытался делать отдельным классом, который потом унаследовал. Да конечно результат можно было предсказать, но желание сделать быстро отключило разум. Да ещё раз на практике усвоил свойства статических методов(один и тот же экземпляр не в зависимости схемы унаследований). Случайно нашёл этот паттерн. Код написан на Python. Основная суть паттерна в том, что создаётся статический список Класса - экземпляра класса. На Python для обёртки класса использовали декоратор. Для других языков можно подобным способом реализовать базовый класс.