Working with goth in Elixir?

I maintain this Elixir application that is using goth for OAuth with Google.

All that it does is to configure goth like this is runtime.exs:

config :goth, json: “/my/path/to/goth.json” |> File.read!()

and then gets the token like this:

Goth.Token.for_scope(...)

Can somebody explain how goth works?

First of all, how can I understand which library depends on goth?

Second, who starts the goth app, since there is no explicit call to its start?

Also, if I want to configure goth programmatically, how should I do it?

Thanks!