Bug 304239 move each core application service to its own package
In M4, some services have their own package, others are provided in core.services. Boris and I talked about moving each service (API) to its own package. Reasons are: - aids with discoverability - helps separate application services from other public API in the core.services package (such as IDisposable, JSONObject) - helps to emphasize that services can be setup and consumed individually - will make it easier to move to separate bundles if that is ever needed This means moving Adapter, Logger, IStatusHandler to their own packages.
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/workbench/swt/internal/PartRenderingEngine.java
if (parentRenderer != null) {
			parentRenderer.hideChild(element.getParent(), element);
		}
		AbstractPartRenderer renderer = getRendererFor(element);
		if (renderer != null) {
			renderer.disposeWidget(element);
		}
		
		if (element instanceof MContribution) {
			((MContribution) element).setObject(null);
		}
		
		if (element instanceof MContext) {
			MContext ctxt = (MContext) element;
			IEclipseContext lclContext = ctxt.getContext();
			if (lclContext != null) {
				IEclipseContext parentContext = (IEclipseContext) lclContext
						.get(IContextConstants.PARENT);
				Object child = parentContext
						.get(IContextConstants.ACTIVE_CHILD);
				if (child == lclContext) {
					parentContext.set(IContextConstants.ACTIVE_CHILD, null);
				}
				ctxt.setContext(null);
				if (lclContext instanceof IDisposable) {
					((IDisposable) lclContext).dispose();
				}
			}
		}
	}