MDL-41792 calendar: refactored the calendar blocks so that they can support multiple calendar types