Very Basic PR

Hi, @dinhviethoa,
I just wrote some basic stuffs(most on structure) and could you please review my source codes, if i make some errors, let me know.

Otherwise, this PR also is a complete PR but within some TODO for us, So you could run the `example.js` to check the functionality of mine.

Also /cc @MailCore's other members :)
Hmm, I don't really think the undue consistent on this problem is unnecessary, because the `error` trigger would simplify the user-land source code. I prefer the node project should hold its advantages, not hurt the UX to compatible with other languages.