Singleton moved to an external factory