change self dipatch chan to reliable chan
change function name
add comments for messages and events
add comments for notify