more progress
ascii json events
allow socket reuse
state transition on event handling