The behaviour for storage backends.
@callback get_url(String.t()) :: {:ok, String.t()} | {:error, any()}
@callback store(source :: String.t(), dest :: String.t()) :: {:ok, any()} | {:error, any()}