It seems troublesome to update a previous event based on a subsequent one. Should we use a "start/end" style instead, so that we can emit the start event and an end event whenever it actually ends?