I have a couple of services. The second is dependent on the first being fully initialised before the second gets set up.
I thought that the order of Service startup was typically handled by organising services in a hierarchy, and that the startup of the hierarchy understood deferreds. I was wrong - service.Application is a MultiService and only understands deferreds in stopService.
There's a DependentMultiService class in twisted.internet.app but that entire module has been deprecated.
Is there a reason why the MultiService does not support deferreds in startService?
Is there a reason that DependentMultiService was not moved across to the twisted.application package?
In other words, what is the recommended way of starting services in the correct order, including waiting for them to get initialised fully, these days?