Ensuring all asyncs are canceld on signal receive or termination

Fixes #15