Similar to the "Filesystem" abstraction layer, we should also extend the available operations to reflect basic tube instantiation.
For example, let's say that I have a process-like object (which may be local, remote via SSH, or via ADB).
I ma want to spawn another process on the same host (e.g.
gdbserver to attach to it), or listen on a port, or create a connection.
Currently, this is difficult and has some special-case code -- an abstraction layer would make things nice and neat.