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/E4Application.java
appContext.set(E4Workbench.PRESENTATION_URI_ARG, presentationURI);
		
		
		E4Workbench workbench = new E4Workbench(appModel, appContext);
		return workbench;
	}
	private MApplication loadApplicationModel(IApplicationContext appContext,
			IEclipseContext eclipseContext) {
		MApplication theApp = null;
		Location instanceLocation = Activator.getDefault()
				.getInstanceLocation();
		String appModelPath = getArgValue(E4Workbench.XMI_URI_ARG, appContext);
		Assert.isNotNull(appModelPath, E4Workbench.XMI_URI_ARG
				+ " argument missing"); 
		final URI initialWorkbenchDefinitionInstance = URI
				.createPlatformPluginURI(appModelPath, true);
		boolean saveAndRestore = true;
		handler = new ResourceHandler(instanceLocation,
				initialWorkbenchDefinitionInstance, saveAndRestore,
				(Logger) eclipseContext.get(Logger.class.getName()));
		Resource resource = handler.loadMostRecentModel();
		theApp = (MApplication) resource.getContents().get(0);
		return theApp;
	}
	private String getArgValue(String argName, IApplicationContext appContext) {
		
		if (argName == null || argName.length() == 0)
			return null;
		for (int i = 0; i < args.length; i += 2) {
			if (argName.equals(args[i]))