disconnect and exit handling

Added support for child signals: disconnect and exit
There are some open requests on this pull request. A note on the tests. We request them to protect you, the consumer of this feature. They help ensure that the feature you care about is resilient to updates and refactoring.