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;
        }