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.
Will stop or keep gathering accordingly to the current ConnectionPolicy