Singleton Pattern are DANGEROUS (when across border of shared libraries)
Singleton Pattern are DANGEROUS ... When you want to control the order of initialization/deinitialization of your objects across shared libraries. Consider the case where you have a beautiful logger c