Cherrypick: Bugfix: Use lazy initialization in factories to prevent "static initialization order" problems.
Config: Use lazy-initialziation of root to prevent initialization of other config groups before root.