public bool Encounter(Person person)
        {
            var month = _random.Next(3, 8);
            person.AddFlag(RomanticFlags.EngagedFlag);
            person.Partner.AddFlag(RomanticFlags.EngagedFlag);
            person.ClearFlag(RomanticFlags.DatingFlag);
            person.Partner.ClearFlag(RomanticFlags.DatingFlag);

            person.PopulationModule.SaveChanges(person.Partner);

            return true;
        }
        public bool Encounter(Person person)
        {
            var mate = person.Partner;
            person.Log("I had a divorce with {0}.", mate.Name);
            mate.Log("I had a divorce with {0}.", person.Name);
            person.ClearFlag(RomanticFlags.MarriedFlag);
            mate.ClearFlag(RomanticFlags.MarriedFlag);
            mate.History.Divorces.Add(person);
            person.History.Divorces.Add(mate);
            mate.Partner = null;
            person.Partner = null;

            person.PopulationModule.SaveChanges(mate);

            return true;
        }
        public bool Encounter(Person person)
        {
            var mate = person.Partner;

            // Mate them up!
            person.Log("I married {0}.", mate.Name);
            mate.Log("I married {0}. ", person.Name);
            person.AddFlag(RomanticFlags.MarriedFlag);
            mate.AddFlag(RomanticFlags.MarriedFlag);

            if (person.HasFlag(RomanticFlags.EngagedFlag))
            {
                person.ClearFlag(RomanticFlags.EngagedFlag);
                mate.ClearFlag(RomanticFlags.EngagedFlag);
            }

            person.PopulationModule.SaveChanges(mate);

            return true;
        }