The eclipse OSGi Service Activator Toolkit provides a framework that simplifies handling the dependencies between budles.
One can derive from org.eclipse.soda.sat.core.framework.BaseBundleActivator and over-ride (for example) the activate() method to do some spefic initialisation work.
The signature is protected void activate(){}
Which leads to the question: "what are we spposed to do if activate() fails?", suppose for some reason we cannot initialise correctly. I can't throw an exception, the method signatiure won't allow that.