pub trait SendError {
// Required methods
fn get_error(&self) -> &Box<dyn Error>;
fn get_failed_destination_id(&self) -> &str;
fn get_failed_message(&self) -> &Message;
// Provided method
fn create_report_message(&self) -> Message { ... }
}