view-ical: Rewritten for better handling of events