Eine andere Variante, um den Warnungsspam auszudünnen bestünde darin, auf Klassenkonstruktoren und -destruktoren sowie auf Klassenvariablen komplett zu verzichten.
Denn das sind Singletons. Und Singletons sind böse. Und so gar nicht threadsafe. Und stehen einem nur im Weg.
Instanzen sind auch nicht unbedingt thread safe. Es kommt immer darauf an wie sich der Zugriff gestaltet. Singletons haben durchaus ihren Zweck.
Es gibt auch nur einen Eintrittspunkt/main()-Funktion pro Programm-Instanz, anderes würde wenig Sinn machen. Irgendwo braucht es einen Anfang.