Base implementation for a provider
fetch(key :: String.t()) :: {:ok, String.t()} | {:error, :not_found} | {:error, any()}
load(config :: any()) :: :ok | {:error, any()}