def launch(head_arguments='', tail_arguments='')
      command = command_line(head_arguments, tail_arguments)
      output, status = run(command)
      output = apply_replacements(output)
      write_output(command, output)
      [output, status]
    end
def launch(head_arguments='', tail_arguments='')
      command = command_line(head_arguments, tail_arguments)
      output, status = run(command)
      output = apply_replacements(output)
      write_output(command, output)
      [output, status]
    end
-----------------------------------------------------------------------------
 @!group Interaction
 Runs the executable with the given arguments.

 @note: You can check by `$?.success?` if the execution succeeded.

 @param  [String] head_arguments
         The arguments to pass to the executable before the default arguments.

 @param  [String] tail_arguments
         The arguments to pass to the executable after the default arguments.

 @return [String]
         The output, which is emitted while execution.