An observable is a simple object with state mutation methods and it emits deltas of state change.
You can convert these observables to streams and you can generate them from streams. Just like emit-stream
This allows you to arbitarily synchronize them with anyone else
var Observable = require("observable")
net.createServer(function (stream) {
var A = Observable("A")
stream.pipe(Observable.toStream(A)).pipe(stream)
A.on("change", function (hello, steve) {
})
}).listen(8080, function () {
var stream = net.connect(8080)
var B = Observable.fromStream(stream)
B.set("hello", "steve")
})