Here you can see how streams works:
var blue = $blue.stream('click');
var red = $red.stream('click')
var clientXes = blue.map('.clientX')
function moreThan50Percents(x){
return x > this.width()/2;
}
clientXes.filter(moreThan50Percents)
var slice = blue.skip(3).take(3).map('blue')
function sum(a, b){
return a + b;
}
clientXes.reduce(sum)
blue.map('Hey!').repeat(5, 200)
red.map('.clientY').getCollected(2000)
red.map('.clientY').diff()
red.map('red').debounce(1000)
red.map('red').delay(750)
red.interpolate("X:{{clientX}}, Y:{{clientY}}")
red.merge(blue)
red.map(0).sync(blue.map(1))