code: def start(self, container: "MetadataContainer"):
      self._thread = self._ListenerThread(
          container, self._ws_factory.create()
      )
      self._thread.start()
      self._started = True
  
imports: import json
  import logging
  import threading
  from json.decoder import JSONDecodeError
  from typing import TYPE_CHECKING, Optional
  from websocket import WebSocketConnectionClosedException
  from neptune.attributes.constants import SIGNAL_TYPE_ABORT, SIGNAL_TYPE_STOP, SYSTEM_FAILED_ATTRIBUTE_PATH
  from neptune.common.websockets.reconnecting_websocket import ReconnectingWebsocket
  from neptune.internal.background_job import BackgroundJob
  from neptune.internal.threading.daemon import Daemon
  from neptune.internal.utils import process_killer
  from neptune.internal.utils.logger import logger
  from neptune.internal.websockets.websockets_factory import WebsocketsFactory
label_desc: Use image node_id 2 for calling the WebsocketSignalsBackgroundJob obj's underlying member method code with example usage: obj.start(container) without return types