J'ai voulu utiliser la classe Singleton et j'ai trouvé pas mal cette implémentation pour éviter le beforeFieldInit.
Mais y'a quelque chose qui m'embête: pourquoi le chargement de l'instance n'est-il pas verrouillé?
Et s'il y a un appel concurrent? on charge plusieurs fois l'instance statique et on n'utilisera que la dernière instanciée? Ne perd on alors pas plus de temps et de mémoire qu'un loading de champ au loading de l'application?

Merci pour vos réponses.