pub trait FifoProvider {
// Required methods
fn push(&self, channel_name: ListChannel, job_key: &str, job_payload: Value);
fn pop(
&self,
channel_name: ListChannel,
job_key: &str,
) -> Result<ListMessage, &'static str>;
// Provided method
fn get_list_name(&self, channel_name: &str, job_key: &str) -> String { ... }
}