pub trait MatchEngineFactory {
// Required method
fn create_engine_with_case(
&self,
query: &str,
case: CaseMatching,
) -> Box<dyn MatchEngine>;
// Provided method
fn create_engine(&self, query: &str) -> Box<dyn MatchEngine> { ... }
}