pub trait HasProps {
// Required methods
fn get_prop(&self, prop: &str) -> Option<String>;
fn set_prop(&mut self, prop: &str, value: &str) -> Result<(), FltkFormError>;
fn get_props(&self) -> HashMap<String, String>;
fn rename_prop(&mut self, prop: &str, new_name: &str);
fn get_widget(&self, prop: &str) -> Option<Box<dyn WidgetExt>>;
}