One should be able to specify sequences of days, weeks, months, years, and sets of holidays, but be able to have these sequences change at different points. This is important because, in Real Life, rulers often arbitrarily changed calendars at points, especially in ancient times but as recent as in early modern times, and yet one would want to be able to arbitrarily change the calendar however one wants.
Holidays will be flexible, but not the whole calendar system (except for intercalation and leap years). If you want to do a big switch, e.g. from Julian to Gregorian, then you'll create a separate calendar. Otherwise that's just ridiculous amounts of bloat.
It may seem like bloat, but it is necessary because this is how calendars operated in premodern times, at least until the likes of the Julian and Islamic calendars were adopted. So if one wants to set one's calendar in premodern times, realistically, it is important to be able to support this.