Одной из идей было бы полное избавление от синглтона.Сделайте это правильным классом с надлежащим владельцем в вашей системе, который другие классы должны использовать для получения этого объекта.Тогда вы можете получить к нему доступ как к «обычному» объекту, и он не будет выглядеть таким ужасным.
Многие люди считают синглтоны антишаблоном .Большая проблема с ними, которую я обнаружил, состоит в том, что они затрудняют обобщение вашего кода, когда вы обнаружите необходимость в этом в один прекрасный день.Поскольку компьютеры работают быстрее и получают больше ядер, то, где я работаю, мы теперь обнаруживаем, что хотим иметь возможность запускать более одной нашей основной программы на одном компьютере одновременно.Самая большая проблема для этого - все синглтоны, которые мы по глупости кодировали.
Попробуйте один раз обойтись без синглтона и посмотрите, как это работает для вас.