@callback embed(client :: map(), opts :: keyword()) :: {:ok, map()} | {:error, term()}
@callback init(opts :: term()) :: map()