update example code
update module pattern
refactor ngChannel
refactor $onRootScope
refactor ngChannel
refactor ngOn
add $once service