crespum[m]: So far I got this, but I'm not sure if it's the best way to do it. What do you think? ```rust struct BaseCommand { a: i32, b: i32, } impl BaseCommand { fn new(a: i32, b: i32) -> Self { BaseCommand { a, b } } } trait Execute { fn execute(&self) -> i32; } impl Execute for BaseCommand { fn execute(&self) -> i32 { self.a + self.b } } struct CustomCommand { command: BaseCommand, } impl CustomCommand { fn new() -> Self { CustomCommand { command: BaseCommand::new(1, 2), } } } impl Execute for CustomCommand { fn execute(&self) -> i32 { self.command.execute() } } fn main() { let cc = CustomCommand::new().execute(); println!("Result: {}", cc); } ```