Refactored singletons to enable proper deconstruction during shutdown