See the online demo.
I have described the basic ideas in my blog posting Game Programming With RxJs.
The switch from RxJs to Bacon.js did not dramatically change the internal structure of the game, except for some simplification made possible by including stuff like Bus in the framework itself. Performance seems to be pretty much the same, too. Profiling with Chrome shows that most CPU time is wasted in Raphaël rendering, so maybe I (or you) should try replacing that with HTML canvas.