I am considering a new feature for the "invoke" and "call" promise methods, using a new method "pass" that would mark a promise to be passed by resolution to invocation and application messages.
As a consequence, it would become possible to send an unresolved promise for a remote object back to a remote method invocation.
For example, this slightly hypothetical recipe would dispatch four messages to a remote file system to orchestrate copying a file.
```js
var remoteFs = remote.get("fs");
var input = remoteFs.invoke("open", "foo.txt");
var output = remoteFs.invoke("open", "bar.txt", "w");
input.invoke("pipe", output.pass());
```
Significantly, if the call to "pass()" were omitted, the input.pipe(output) remote invocation would receive a promise for output instead of the output stream itself.
Kris Kowal