Make providers check for uri and generate one if necessary.
Add warning note to get_by_uri.