code: def _dispatch_rpc(self, address, rpc_id, arg_payload):
          
  
          if self.emulator.is_tile_busy(address):
              self._track_change('device.rpc_busy_response', (address, rpc_id, arg_payload, None, None), formatter=format_rpc)
              raise BusyRPCResponse()
  
          try:
              # Send the RPC immediately and wait for the response
              resp = super(EmulatedDevice, self).call_rpc(address, rpc_id, arg_payload)
              self._track_change('device.rpc_sent', (address, rpc_id, arg_payload, resp, None), formatter=format_rpc)
  
              return resp
          except AsynchronousRPCResponse:
              self._track_change('device.rpc_started', (address, rpc_id, arg_payload, None, None), formatter=format_rpc)
              raise
          except Exception as exc:
              self._track_change('device.rpc_exception', (address, rpc_id, arg_payload, None, exc), formatter=format_rpc)
              raise
docs: Background work queue handler to dispatch RPCs.