pub fn get_or_create_job(&mut self, id: Id, command: impl Fn() -> Arc<Command>) -> Job {
		self.get_job(id)
			.unwrap_or_else(|| self.create_job_with_id(id, command()))
	}
Get an existing job or create a new one given an Id.

This starts the [`Job`] immediately if one with the Id doesn't exist, and stores a copy of
its handle and [`Id`] in this `Action` (and thus in the Watchexec instance, when the action
handler returns).
crates/lib/src/action/handler.rs