public Person CreatePerson(Person person)
        {
            using (var db = ContextFactory.GetContext()) {
                var interests = _interestsRepository.InsertNewInterests(person.Interests);

                var occupation = _occupationsRepository.InsertIfNotExists(person.Occupation);
                // This is used to make sure that EF doesn't create a new Occupation record, since it doesn't realize the work on the line above takes care of it
                person.Occupation   = null;
                person.OccupationId = occupation.Id;
                db.SaveChanges();

                db.People.Add(person);
                db.SaveChanges();

                _personInterestsRepository.InsertNewPersonInterests(person, interests);

                return(GetPersonById(person.Id));
            }
        }