let on_model model job data =
  match !current_model with
    | Some m -> 
        Wp_parameters.fatal 
          "Re-entrant logic model {%s,%s}" m.model_name model
    | None ->
        current_model := Some (MODELS.find model) ;
        try let result = job data in current_model := None ; result
        with exn -> current_model := None ; raise exn