@spec bump(String.t(), String.t()) :: {:ok, non_neg_integer()} | {:error, term()}
@spec get(String.t(), String.t(), String.t(), String.t() | nil) :: {:ok, String.t()} | :error
@spec list_configs(String.t()) :: {:ok, [String.t()]} | :error
@spec set( String.t(), String.t(), String.t(), String.t(), String.t(), String.t(), boolean() ) :: :ok | {:error, term()}
@spec unset(String.t(), String.t(), String.t(), [String.t()], String.t(), boolean()) :: :ok | {:error, term()}