def launch_thread(self, name, fn, *args, **kwargs):
logger.debug(<EOL>"<STR_LIT>", name,<EOL>fn, args, kwargs<EOL>)<EOL>self.thread_pool[name] = threading.Thread(<EOL>target=fn, args=args, kwargs=kwargs<EOL>)<EOL>self.thread_pool[name].daemon = True<EOL>self.thread_pool[name].start()<EOL>
Adds a named thread to the "thread pool" dictionary of Thread objects.

A daemon thread that executes the passed-in function `fn` with the
given args and keyword args is started and tracked in the `thread_pool`
attribute with the given `name` as the key.