BREAKING CHANGES: Run callbacks in main thread and int callback id. Execute callbacks in main thread. This will break callbacks that use a long time to execute. Create your own thread in AddCallback using gorutines on long running callbacks. Use deterministic IDs for AddCallback. Changes the id from SHA-hash to int.