fix mistakenly using .call(), replace it with .apply() to pass all arguments correctly.
add test for gadget.publish and .subscribe
Merge pull request #84 from normanzb/develop

fix mistakenly using .call(), replace it with .apply()