use super::{CallbackContext, CallbackError};
use async_trait::async_trait;
use shaku::Interface;
#[async_trait]
pub trait CallbackExecutor: Interface + Send + Sync {
async fn execute(
&self,
context: &CallbackContext,
) -> Result<(), CallbackError>;
fn name(&self) -> &str;
}