add logging in test case
loop() may continue if there was not ChannelClose
start listening before spawn
make primitives accessible from outside of the package