pub fn supervise<F>(work_fn: F)where F: Fn() -> Result<&'static str, &'static str> + Send + 'static,
Spawns a thread and which will restart the work_fn when it produces a Result