pub fn init( metadata: Metadata, run_fn: fn(_: &MsfParamWrapper) -> Result<Option<String>, Box<dyn Error>>, check_fn: Option<fn(_: &MsfParamWrapper) -> Result<(), Box<dyn Error>>>) -> Result<(), Box<dyn Error>>