pub trait ActorExecutor: Send + Sync {
// Required methods
fn queue_for_executor(&self, task: Box<dyn FnOnce() + Send>) -> String;
fn run_in_executor(&self, task: Box<dyn FnOnce() + Send>) -> String;
fn queued_task_ids(&self) -> Vec<String>;
fn active_task_ids(&self) -> Vec<String>;
fn has_queued_tasks(&self) -> bool;
fn has_active_tasks(&self) -> bool;
fn cancel_task(&self, task_id: &str);
fn cancel_all_tasks(&self);
}