writer: refactor to use AsyncConn events
whitespace