I don’t have a concise explanation of what we did, but had to solve similar problems here: https://github.com/touchlab/FirestoreKMP. The threading and callbacks is a particular issue. Had to keep callbacks isolated to the main thread to avoid freezing and such, but it’s been a little while so I’d need to refresh my own memory to discuss more