    pub fn register(&mut self, endpoint: E) {

        // kick off the DNS resolution task here?
        // wrap into PendingEndpoint

        // we then iterate over PendingEndpoints
        // if it's ready (either because of DNS and/or throttle) it will return OK

        self.pending_endpoints.push_back(endpoint)
    }