Говорят, первой программой у каждого разработчика должен быть вывод «Hello, world» в консоль. С программой так было и у меня, в далеком 2007 году, когда я поступил в колледж на специальность "Автоматизация вычислительных систем" и писал я эту программу на Visual basic
Можешь вместо синглтонов попробовать zenject, просто в одном классе биндишь все классы которые тебе нужны, и из любого другого класса можешь их доставать, очень удобно, и не будет вероятности получить null ref