pub trait CommandProcessor<'a> {
// Required method
fn push(&mut self, val: Command<InputReference<'a>>);
// Provided methods
fn push_literals(&mut self, data: &InputPair<'a>) { ... }
fn push_rand_literals(&mut self, data: &InputPair<'a>) { ... }
fn push_block_switch_literal(&mut self, block_type: u8) { ... }
}