docs: def decode_async_options(options):
      """Decode Async options from JSON decoding."""
      async_options = copy.deepcopy(options)
  
      # JSON don't like datetimes.
      eta = async_options.get('task_args', {}).get('eta')
      if eta:
          from datetime import datetime
  
          async_options['task_args']['eta'] = datetime.fromtimestamp(eta)
  
      # If there are callbacks, reconstitute them.
      callbacks = async_options.get('callbacks', {})
      if callbacks:
          async_options['callbacks'] = decode_callbacks(callbacks)
  
      if '__context_checker' in options:
          _checker = options['__context_checker']
          async_options['_context_checker'] = path_to_reference(_checker)
  
      if '__process_results' in options:
          _processor = options['__process_results']
          async_options['_process_results'] = path_to_reference(_processor)
      return async_options