public static PregnancyData GetPregnancyData(this AgentData heroine)
        {
            if (heroine == null)
            {
                return(new PregnancyData());
            }

            // Figure out which data to take if there are multiple
            // probably not necessary? null check should be enough?
            return(heroine.GetRelatedChaFiles()
                   .Select(GetPregnancyData)
                   .Where(x => x != null)
                   .OrderByDescending(x => x.PregnancyCount)
                   .ThenByDescending(x => x.WeeksSinceLastPregnancy)
                   .ThenByDescending(x => x.Week)
                   .ThenByDescending(x => x.GameplayEnabled)
                   .FirstOrDefault() ?? new PregnancyData());
        }