Method chaining works best for the creation of simple data objects, yet here I'm using it both for the setter methods on Appointment and in AppointmentCalendar to start the method chain.
Stored procedures take advantage of ownership chaining to provide access to data so that users do not need to have explicit permission to access database objects.