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.
“And now, a hushed crowd nervously awaits the final decision of the judge: is Microsoft Excel in fact the most powerful spreadsheet for powerful computers? Will it solidify the new machine’s place in world business? Will it resurrect the art of financial presentation? Is it the irresistable force that will lead us into the future, away from—” “REBOOT, SCHUMINSKY.”