pub trait Field {
// Required methods
fn sql(&mut self, model: &str) -> String;
fn show(&mut self, open: bool) -> &mut Self;
fn describe(&mut self, text: &str) -> &mut Self;
fn field(&mut self) -> JsonValue;
// Provided method
fn verify(&mut self, data: JsonValue) -> JsonValue { ... }
}