Current Goro implementation heavily relies on the fact that GoroService is in the same process.
The check here:
https://github.com/stanfy/goro/blob/v3.0.0-RC3/goro/src/main/java/com/stanfy/enroscar/goro/Goro.java#L26
which is invoked here:
https://github.com/stanfy/goro/blob/v3.0.0-RC3/goro/src/main/java/com/stanfy/enroscar/goro/BoundGoro.java#L61
is required to obtain Goro instance from GoroService, which, in fact, was plugged in using GoroService.setup method.
But BoundGoro should send tasks to the GoroService, instead.
P.S. Currently, the only purpose of GoroService is to keep application alive, because it does not provide any IPC functions - it operates on the same Goro which was provided during setup.