make message channel handling asynchronous from bouncer loop