I wonder if we should just pass in a new ``base_url`` here instead of ``user_addr``? That makes it a bit clearer how these map to URLs and probably allows us to share a ``self.url`` implementation.