public int OnAfterOpenProject(IVsHierarchy pHierarchy, int fAdded)
        {
            var project = pHierarchy.ToProject();

            if (!project.IsGaugeProject())
            {
                return(VSConstants.S_OK);
            }

            var slugifiedName = project.SlugifiedName();

            if (GaugeService.Instance.ContainsApiConnectionFor(slugifiedName))
            {
                return(VSConstants.S_OK);
            }

            try
            {
                StatusBarLogger.Log($"Initializing Gauge daemon for Project: {project.Name}");
                GaugeService.Instance.RegisterGaugeProject(project, _gaugeDaemonOptions.MinPortRange,
                                                           _gaugeDaemonOptions.MaxPortRange);
                StatusBarLogger.Log($"Initializing Gauge Project Cache: {project.Name}");
                ProjectFactory.Initialize(project);
            }
            catch (Exception ex)
            {
                OutputPaneLogger.Error($"Failed to start Gauge Daemon: {ex}");
                return(VSConstants.S_FALSE);
            }

            return(VSConstants.S_OK);
        }