pub trait ProviderRegistry: Send + Sync {
// Required methods
fn len(&self) -> usize;
fn get(&self, id: &str) -> Option<Client>;
fn ids(&self) -> Vec<String>;
fn snapshot(&self) -> HashMap<String, Client>;
// Provided method
fn is_empty(&self) -> bool { ... }
}