why are we listening to onerror and then passing stuff into icalEventParser? Can you explain this in a comment