Changed to `provider.init.bind(provider)` to run `init` in the correct context