Handle getting the date ranges for events much more efficiently. Also support events that could span multiple years, just in case.