         task.standardOutput = pipe
         task.standardError = pipe
 
-        let result = launchTask(task, pipe: pipe)
+        let result = launchTask(task)
         return result
     }
 

        self.environment = environment
    }

    public func run() -> Result<(), Int32> {
        let task = createTask()
        task.launch()
        task.waitUntilExit()

        if task.terminationStatus == EXIT_SUCCESS {
            return .success()
        } else {
            return .failure(task.terminationStatus)
        }
    }

    public func output() -> Result<String, TerminationStatus> {
        let task = createTask()

        let pipe = NSPipe()
        task.standardOutput = pipe

        let result = launchTask(task, pipe: pipe)
        return result
    }


        task.launch()
        task.waitUntilExit()

        task.terminationHandler = { task in
            if task.standardOutput.fileHandleForReading != nil {
                task.standardOutput.fileHandleForReading.readabilityHandler = nil
            }
            if task.standardError.fileHandleForReading != nil {
                task.standardError.fileHandleForReading.readabilityHandler = nil
            }
        }

        if task.terminationStatus == EXIT_SUCCESS {
            return .success(outputString)
        } else {
