Dart's method cascade syntax is still the best I've seen, that's immediately intuitive and unambiguous:
let task = NSTask()
..launchPath = "/usr/bin/mdfind"
..standardOutput = pipe
..launch()
..waitUntilExit()