Refactor utils.js

Use `events` format for `info`
Ignore observe events created by blaze (by checking return value)
Fix bugs: setInfo called outside the callback