It sounds like item_types kludges around the fact that you can only add calendar items or its subtypes to calendars, when as has been discussed before this should just be mapping time/event information to any arbitrary type. Then packages could stick anything they want on a calendar.