We call callbacks on collection executors. In most cases it means callbacks are called on background threads, which makes it callback work to proxy calls to main (e.g. android's UI) thread.
Have to figure out if we need to make callback calls thread configurable.