make behavior consistent btw EventSource and XHR backup, and support
different ID values and event types