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/src/org/eclipse/e4/workbench/ui/internal/PartServiceImpl.java
return null;
	}
	private MPart createPart(MPartDescriptor descriptor) {
		return descriptor == null ? null : (MPart) EcoreUtil.copy((EObject) descriptor);
	}
	public MPart createPart(String id) {
		MPartDescriptor descriptor = findDescriptor(id);
		return createPart(descriptor);
	}
	private MPart addPart(MPart providedPart, MPart localPart) {
		if (providedPart == localPart && isInContainer(providedPart)) {
			return providedPart;
		}
		MPartDescriptor descriptor = findDescriptor(providedPart.getId());
		if (descriptor == null) {
			if (providedPart != localPart) {
				MPartStack stack = MApplicationFactory.eINSTANCE.createPartStack();
				stack.getChildren().add(providedPart);
				rootContainer.getChildren().add(stack);
			}
		} else {
			if (providedPart != localPart && !descriptor.isAllowMultiple()) {
				return localPart;
			}
			String category = descriptor.getCategory();
			if (category == null) {
				addToLastContainer(null, providedPart);
			} else {
				List<Object> elements = modelService.findElements(rootContainer, null, null,
						Collections.singletonList(category));