You're talking like a Gregorian calendar? That could be done, particularly since it could rely on all the Date class functions rather than trying to calculate out when Easter is. What are the constraints around how you want to use it. Do you want modern holidays also, normal days of the week, moon phase, etc?