Basic calendar object complete.

Will now be starting on changing the main layout to work with the new
calendar.