MicroSurvey.on(event, listener); the call returns an unsubscribe function.
InsitoEvent enum and every listener receives an
InsitoEventPayload. Only the fields relevant to the fired event are populated;
the rest are null.
Event matrix
InsitoEventPayload
When events fire
Common patterns
Fan out to your own analytics
Surface errors in development
Show a thank-you snackbar
Differentiate online vs queued
Memory model
Listeners are held by reference. The bus doesn’t weak-ref them; if you don’t call the returned unsubscribe function, the listener (and anything it closes over) lives for the lifetime of the app. If you subscribe from aStatefulWidget,
store the unsubscribe callbacks and call them in dispose().
Listener errors are swallowed inside the bus, so a misbehaving handler can
never crash the SDK — but it also means exceptions won’t surface. Log inside
your listener if you need visibility.