@spec hub(AdaSdk.Client.t(), :events | :signals | :jobs) :: pid()
@spec rpc(AdaSdk.Client.t(), module(), atom(), struct()) :: {:ok, struct()} | {:error, term()}