Optional behavior for custom context implementations.
@callback init(keyword()) :: any()
@callback validate(any()) :: :ok | {:error, String.t()}