The first question I would ask is if you even need your own start daemon at all anymore.
Why aren't you happy with the separate contracts ? This is how sshd works on Solaris, each connection is in its own contract so that restarting the master doesn't drop the connected clients. It is also what gdm does for each user login. It might be easier to model this as a number of SMF services with appropriate dependencies. Implementing your own delegated restarter might be fun but it won't be easy and IMO should be a last resort. -- Darren J Moffat