Add test for #merge with using sinon
Refactor: use sinon as subscription
Make #publish & #subscribe return itself for method chain
Add test for #scan
Add test for Stream#filter
Add test for Stream#map
Make a test case more strict
Rename value -> message for consistency as pub/sub model
Refactor: we should assert spy.args for strict checking
Refactor: a and b are also used in README example