gatherEvents
Fetches events from remote sources, handling websocket opening and duplication of events from multiple sources.
Opens Websocket
Fetches missed events since last time online
Emits missed events
Updates status to Online
Emits Websocket events as they come, omitting duplications.