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