code: def _new_task(
      self,
      run_id,
      step_name,
      task_id,
      attempt=0,
      tags=None,
      sys_tags=None,
  ):
      self._ensure_meta("step", run_id, step_name, None)
      to_return = self._ensure_meta(
          "task", run_id, step_name, task_id, tags, sys_tags
      )
      self._register_system_metadata(
          run_id, step_name, task_id, attempt
      )
      return to_return
  
imports: import collections
  import glob
  import json
  import os
  import random
  import tempfile
  import time
  from collections import namedtuple
  from metaflow.exception import MetaflowInternalError, MetaflowTaggingError
  from metaflow.metadata.metadata import ObjectOrder
  from metaflow.metaflow_config import DATASTORE_LOCAL_DIR
  from metaflow.metadata import MetadataProvider
  from metaflow.tagging_util import MAX_USER_TAG_SET_SIZE, validate_tags
label_desc: Use image node_id 18 for calling the LocalMetadataProvider obj's underlying member method code with example usage: obj._new_task(run_id, step_name, task_id, attempt, tags, sys_tags) and returns: to_return