class_docstr: FutureTaskCaller is used to create a class via a functions async, in another thread.
  
  For example:
  
  .. code-block:: py
  
      future = FutureTaskCaller().call(func=max, func_cb=None, override_cls=None, 1, 2)
      print('Running other code')
      print(future.result())  # will print '2'
class_docstr_tok: ["FutureTaskCaller","is","used","to","create","a","class","via","a","functions","async",",","in","another","thread",".","For","example",":","..","code-block",":",":","py","future","=","FutureTaskCaller","(",")",".call","(","func=max",",","func_cb=None",",","override_cls=None",",","1",",","2",")","print","(","'Running","other","code","'",")","print","(","future.result","(",")",")","#","will","print","'","2","'"]
code: def __submit__(self, fn, fn_cb, args, kwargs):
      # background initialization call
      _object = fn(*args, **kwargs)
  
      # push all background calls (now that the initialization is complete)
      if self.__deferred_bkg_class:
          _deferred_bkg_class = self.__deferred_bkg_class
          self.__deferred_bkg_class = None
          # noinspection PyProtectedMember
          _deferred_bkg_class._flush_into_logger(
              a_future_object=_object
          )
  
      # store the initialized object
      self.__object = _object
      # callback function
      if fn_cb is not None:
          fn_cb(self.__object)
  
imports: import os
  from copy import deepcopy
  from time import sleep
  from concurrent.futures import ThreadPoolExecutor
  from typing import Any, Callable, Optional, Union, Generator, List, Type
  from zipfile import ZipFile, ZIP_DEFLATED
  from six.moves.queue import PriorityQueue, Queue, Empty
  from pathlib2 import Path
  from tempfile import mkstemp
  from collections import deque
  from threading import Thread
  from ..debugging.log import LoggerRoot
  from ..storage.util import format_size
label_desc: Use image node_id 3 for calling the FutureTaskCaller obj's underlying member method code with example usage: obj.__submit__(fn, fn_cb, args, kwargs) without return types