<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def Phylesystem(repos_dict=None, repos_par=None, with_caching=True, repo_nexml2json=None, git_ssh=None, pkey=None, git_action_class=PhylesystemGitAction, mirror_info=None, new_study_prefix=None, infrastructure_commit_author='OpenTree API <api@opentreeoflife.org>'):
 """Factory function for a _Phylesystem object. A wrapper around the _Phylesystem class instantiation for the most common use case: a singleton _Phylesystem. If you need distinct _Phylesystem objects, you'll need to call that class directly. """

    if not repo_nexml2json:
        repo_nexml2json = get_config_setting('phylesystem', 'repo_nexml2json')
    global _THE_PHYLESYSTEM
    if _THE_PHYLESYSTEM is None:
        _THE_PHYLESYSTEM = _Phylesystem(repos_dict=repos_dict,
                                        repos_par=repos_par,
                                        with_caching=with_caching,
                                        repo_nexml2json=repo_nexml2json,
                                        git_ssh=git_ssh,
                                        pkey=pkey,
                                        git_action_class=git_action_class,
                                        mirror_info=mirror_info,
                                        new_study_prefix=new_study_prefix,
                                        infrastructure_commit_author=infrastructure_commit_author)
    return _THE_PHYLESYSTEM