separate event loop from actual communication over pipes