def _execute_command(self, command, workunit_name=None, workunit_labels=None):
    """Executes a node or npm command via self._run_node_distribution_command.

    :param NodeDistribution.Command command: The command to run.
    :param string workunit_name: A name for the execution's work unit; default command.executable.
    :param list workunit_labels: Any extra :class:`pants.base.workunit.WorkUnitLabel`s to apply.
    :returns: A tuple of (returncode, command).
    :rtype: A tuple of (int,
            :class:`pants.contrib.node.subsystems.node_distribution.NodeDistribution.Command`)
    """
    workunit_name = workunit_name or command.executable
    workunit_labels = {WorkUnitLabel.TOOL} | set(workunit_labels or ())
    with self.context.new_workunit(name=workunit_name,
                                   labels=workunit_labels,
                                   cmd=str(command)) as workunit:
      returncode = self._run_node_distribution_command(command, workunit)
      workunit.set_outcome(WorkUnit.SUCCESS if returncode == 0 else WorkUnit.FAILURE)
      return returncode, command
Executes a node or npm command via self._run_node_distribution_command.

    :param NodeDistribution.Command command: The command to run.
    :param string workunit_name: A name for the execution's work unit; default command.executable.
    :param list workunit_labels: Any extra :class:`pants.base.workunit.WorkUnitLabel`s to apply.
    :returns: A tuple of (returncode, command).
    :rtype: A tuple of (int,
            :class:`pants.contrib.node.subsystems.node_distribution.NodeDistribution.Command`)