Also, what happens if protocol is not provided? Should we delegate this to Addressable as a builder? We have not talked much about support for relative paths. Not sure that is applicable here as the use case is probably that we know the fully qualified URI. Is that always correct?