ticket:3 Add CalendarListener