Refactor dates and calendars.  These are two different types of entity.