Is there a reason to run this in another detached thread, instead of handling this at the end of `go`?