internal static Appointment Create(DateTimeOffset dateOfAppointment, IAppendFacts parent)
        {
            var fact = new AppointmentCreatedFact() {Id = Guid.NewGuid(), DateOfAppointment = dateOfAppointment};

            var appointment = new Appointment(parent);
            appointment.Append(fact);
            appointment.Apply(fact);

            return appointment;
        }
 internal static Appointment HydrateFrom(AppointmentCreatedFact fact, Customer parent)
 {
     var appointment = new Appointment(parent);
     appointment.Apply(fact);
     return appointment;
 }