add state channel at each service to enable watching state changes
(after doing 3 in the "In progress") All orphan services is killed and waited for until its state changes or a timeout reached. After the service is done (either because of timeout or state change), all outgoing edges are removed and the new orphans is stopped.
making the shutdown timeout configurable for each service
Changes: