use ethreact.Event, unbuffered event channels, subscribe after loop reading from channel starts