allow creating event without type arg in python
fix logic error for first event send to clients
add event unittest, replace process with threading
it is easier to deal with in case of error