trait KeyPainter {
// Required methods
fn width(&self) -> f32;
fn height(&self) -> f32;
fn draw_background(&mut self) -> Result<(), KeyPaintError>;
fn draw_key(
&mut self,
keybox: &BoundingBox,
colour: &KeyColour,
label: &KeyLabel,
keycode: Code,
) -> Result<(), KeyPaintError>;
}