Refactoring of collab example code
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF b/examples/bundles/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF
index 6be1797..8457ee4 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF
+++ b/examples/bundles/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF
@@ -2,10 +2,18 @@
 Bundle-Name: %plugin.name
 Bundle-SymbolicName: org.eclipse.ecf.example.collab;singleton:=true
 Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.ecf.example.collab.ClientPlugin
+Bundle-Activator: org.eclipse.ecf.internal.example.collab.ClientPlugin
 Bundle-Vendor: %plugin.provider
 Bundle-Localization: plugin
-Export-Package: org.eclipse.ecf.example.collab, org.eclipse.ecf.example.collab.share, org.eclipse.ecf.example.collab.share.url, org.eclipse.ecf.example.collab.share.io
+Export-Package: org.eclipse.ecf.example.collab.share,
+ org.eclipse.ecf.example.collab.share.io,
+ org.eclipse.ecf.example.collab.share.url,
+ org.eclipse.ecf.internal.example.collab;x-internal:=true,
+ org.eclipse.ecf.internal.example.collab.actions,
+ org.eclipse.ecf.internal.example.collab.start,
+ org.eclipse.ecf.internal.example.collab.ui,
+ org.eclipse.ecf.internal.example.collab.ui.hyperlink,
+ org.eclipse.ecf.internal.example.collab.ui.perspective;x-internal:=true
 Eclipse-LazyStart: true
 Provide-Package: org.eclipse.ecf.example.collab
 Bundle-ManifestVersion: 2
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/plugin.xml b/examples/bundles/org.eclipse.ecf.example.collab/plugin.xml
index 7da8246..980d3ce 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/plugin.xml
+++ b/examples/bundles/org.eclipse.ecf.example.collab/plugin.xml
@@ -6,13 +6,13 @@
          point="org.eclipse.ui.views">
       <view
             icon="icons/group.gif"
-            class="org.eclipse.ecf.example.collab.ui.LineChatView"
+            class="org.eclipse.ecf.internal.example.collab.ui.LineChatView"
             category="org.eclipse.ecf.ui.viewcategory"
             name="Collaboration"
             id="org.eclipse.ecf.example.collab.ui.LineChatView"/>
       <view
             category="org.eclipse.ecf.ui.viewcategory"
-            class="org.eclipse.ecf.example.collab.CollabDiscoveryView"
+            class="org.eclipse.ecf.internal.example.collab.ui.CollabDiscoveryView"
             icon="icons/default_provider_image.gif"
             id="org.eclipse.ecf.example.collab.discoveryview"
             name="Service Discovery"/>
@@ -31,7 +31,7 @@
             <separator name="group2"/>
          </menu>
          <action
-               class="org.eclipse.ecf.example.collab.actions.JoinGroupWizardAction"
+               class="org.eclipse.ecf.internal.example.collab.actions.JoinGroupWizardAction"
                icon="icons/group.gif"
                id="org.eclipse.ecf.client.joingroupwizardaction"
                label="Connect Project to ECF Collaboration Group..."
@@ -49,7 +49,7 @@
             <separator name="group2"/>
          </menu>
          <action
-               class="org.eclipse.ecf.example.collab.actions.OpenSharedEditorAction"
+               class="org.eclipse.ecf.internal.example.collab.actions.OpenSharedEditorAction"
                id="org.eclipse.ecf.client.editfileaction"
                label="Open Shared Editor"
                menubarPath="org.eclipse.ecf.example.collab.menu1/group1"/>
@@ -59,7 +59,7 @@
          point="org.eclipse.ui.preferencePages">
       <page
       		category="org.eclipse.ecf.ui.category"
-            class="org.eclipse.ecf.example.collab.ui.ClientPreferencePage"
+            class="org.eclipse.ecf.internal.example.collab.ui.ClientPreferencePage"
             name="Collaboration"
             id="org.eclipse.ecf.example.collab.ui.preferences"/>
    </extension>
@@ -67,7 +67,7 @@
          point="org.eclipse.ui.preferencePages">
       <page
             category="org.eclipse.ecf.ui.category"
-            class="org.eclipse.ecf.example.collab.start.AutoLoginPreferencePage"
+            class="org.eclipse.ecf.internal.example.collab.start.AutoLoginPreferencePage"
             name="Autologin"
             id="org.eclipse.ecf.example.collab.ui.autologin"/>
    </extension>
@@ -86,7 +86,7 @@
             id="org.eclipse.ecf.texteditor.ruler.context.actions">
          <action
                label="Share Selection"
-               class="org.eclipse.ecf.example.collab.actions.SetSharedEditorSelectionAction"
+               class="org.eclipse.ecf.internal.example.collab.actions.SetSharedEditorSelectionAction"
                tooltip="Share Selection to ECF Remotes"
                menubarPath="additions"
                id="org.eclipse.ecf.example.collab.ui.text.SetSharedEditorSelectionAction">
@@ -102,7 +102,7 @@
          <action
                label="Share Selection"
                tooltip="Share Selection to ECF Remotes"
-               class="org.eclipse.ecf.example.collab.actions.SetSharedEditorSelectionAction"
+               class="org.eclipse.ecf.internal.example.collab.actions.SetSharedEditorSelectionAction"
                menubarPath="add"
                id="org.eclipse.ecf.example.collab.ui.java.SetSharedEditorSelectionAction">
          </action>
@@ -111,7 +111,7 @@
    <extension
          point="org.eclipse.ecf.startup">
       <ecfstart
-            class="org.eclipse.ecf.example.collab.start.CollabStart"/>
+            class="org.eclipse.ecf.internal.example.collab.start.CollabStart"/>
    </extension>
    <extension
          point="org.eclipse.ui.actionSets">
@@ -124,7 +124,7 @@
                label="connectMenu">
          </menu>
          <action
-               class="org.eclipse.ecf.example.collab.actions.JoinGroupWizardAction"
+               class="org.eclipse.ecf.internal.example.collab.actions.JoinGroupWizardAction"
                icon="icons/group.gif"
                id="org.eclipse.ecf.example.collab.action2"
                label="Connect to ECF Collaboration Group..."
@@ -178,7 +178,7 @@
          point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors">
       <hyperlinkDetector
             activate="true"
-            class="org.eclipse.ecf.example.collab.ui.hyperlink.ECFGenericHyperlinkDetector"
+            class="org.eclipse.ecf.internal.example.collab.ui.hyperlink.ECFGenericHyperlinkDetector"
             id="org.eclipse.ecf.example.collab.ui.hyperlink.ECFGenericHyperlinkDetector"
             name="ECF Generic"
             targetId="org.eclipse.ui.DefaultTextEditor">
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/NewWorkbenchAction.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/NewWorkbenchAction.java
deleted file mode 100644
index 3113ce8..0000000
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/NewWorkbenchAction.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Composent, Inc. and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.example.collab.actions;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ecf.example.collab.ClientPlugin;
-import org.eclipse.ecf.example.collab.ui.ConnectionDialog;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionDelegate;
-
-public class NewWorkbenchAction extends ActionDelegate implements
-		IWorkbenchWindowActionDelegate {
-
-	public void run() {
-		IResource resource = ResourcesPlugin.getWorkspace().getRoot();
-		URIClientConnectAction action = new URIClientConnectAction();
-		action.setProject(resource);
-	}
-
-	protected IWorkbench getWorkbench() {
-		return PlatformUI.getWorkbench();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IResource resource = ResourcesPlugin.getWorkspace().getRoot();
-
-		// Open the wizard dialog
-		ConnectionDialog dialog = new ConnectionDialog(getWorkbench()
-				.getActiveWorkbenchWindow().getShell());
-
-		if (dialog.open() == Dialog.OK) {
-
-			URIClientConnectAction client = null;
-			String groupName = dialog.getJoinGroupText();
-			String nickName = dialog.getNicknameText();
-			String containerType = dialog.getContainerType();
-			String password = dialog.getPasswordText();
-			boolean autoLoginFlag = dialog.getAutoLoginFlag();
-			try {
-				client = new URIClientConnectAction(containerType, groupName,
-						nickName, password, resource,autoLoginFlag);
-				client.run(null);
-			} catch (Exception e) {
-				String message = "Could not connect to " + groupName + ".";
-				ClientPlugin.log(message, e);
-				ErrorDialog.openError(getWorkbench().getActiveWorkbenchWindow()
-						.getShell(), "Connection Error", message, new Status(
-						Status.ERROR, ClientPlugin.PLUGIN_ID, 0, message, e));
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-}
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/WorkbenchAction.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/WorkbenchAction.java
deleted file mode 100644
index 3954967..0000000
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/WorkbenchAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Composent, Inc. and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.example.collab.actions;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.ecf.example.collab.ui.JoinGroupWizard;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionDelegate;
-
-/**
- * @author slewis
- *
- */
-public class WorkbenchAction extends ActionDelegate implements IWorkbenchWindowActionDelegate {
-    
-    public void run() {
-        IResource resource = ResourcesPlugin.getWorkspace().getRoot();
-        URIClientConnectAction action = new URIClientConnectAction();
-        action.setProject(resource);
-    }
-
-    protected IWorkbench getWorkbench() {
-        return PlatformUI.getWorkbench();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-     */
-    public void dispose() {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-     */
-    public void init(IWorkbenchWindow window) {
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run(IAction action) {
-        IResource resource = ResourcesPlugin.getWorkspace().getRoot();
-        JoinGroupWizard wizard = new JoinGroupWizard(resource,getWorkbench());
-        // Create the wizard dialog
-        WizardDialog dialog = new WizardDialog
-         (getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);
-        // Open the wizard dialog
-        dialog.open();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-    }
-}
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseCollabSharedObject.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseCollabSharedObject.java
index 1d8ad54..6fd1f0d 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseCollabSharedObject.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseCollabSharedObject.java
@@ -23,6 +23,7 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Assert;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
@@ -32,16 +33,18 @@
 import org.eclipse.ecf.core.security.IConnectContext;
 import org.eclipse.ecf.core.sharedobject.ISharedObjectContext;
 import org.eclipse.ecf.core.sharedobject.ReplicaSharedObjectDescription;
-import org.eclipse.ecf.example.collab.ClientPlugin;
 import org.eclipse.ecf.example.collab.share.io.EclipseFileTransfer;
 import org.eclipse.ecf.example.collab.share.io.FileTransferParams;
-import org.eclipse.ecf.example.collab.ui.ChatLine;
-import org.eclipse.ecf.example.collab.ui.FileReceiverUI;
-import org.eclipse.ecf.example.collab.ui.ImageWrapper;
-import org.eclipse.ecf.example.collab.ui.LineChatClientView;
-import org.eclipse.ecf.example.collab.ui.LineChatHandler;
-import org.eclipse.ecf.example.collab.ui.LineChatView;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ui.ChatLine;
+import org.eclipse.ecf.internal.example.collab.ui.EditorHelper;
+import org.eclipse.ecf.internal.example.collab.ui.FileReceiverUI;
+import org.eclipse.ecf.internal.example.collab.ui.ImageWrapper;
+import org.eclipse.ecf.internal.example.collab.ui.LineChatClientView;
+import org.eclipse.ecf.internal.example.collab.ui.LineChatHandler;
+import org.eclipse.ecf.internal.example.collab.ui.LineChatView;
 import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.events.PaintEvent;
@@ -60,38 +63,33 @@
 
 public class EclipseCollabSharedObject extends GenericSharedObject implements
 		LineChatHandler, EclipseProject {
-	protected static final String SHARED_MARKER_TYPE = ClientPlugin.SHARED_MARKER_TYPE;
-	protected static final String SHARED_MARKER_KEY = ClientPlugin.SHARED_MARKER_KEY;
-	protected static final String CHAT_VIEW_ID = LineChatView.class.getName();
-	protected static String DEFAULTTREETOPLABEL = "Presence";
-	public static final String ECLIPSEOBJECTNAME = "chat";
-	public static final String INIT_TEXT = "Collaboration for ";
+	public static final String SHARED_MARKER_TYPE = ClientPlugin.SHARED_MARKER_TYPE;
+	public static final String SHARED_MARKER_KEY = ClientPlugin.SHARED_MARKER_KEY;
+	public static final String ID = "chat";
 	Date creationTime = new Date();
-	String downloaddir = "";
-	protected LineChatClientView localGUI;
-	IResource localProject;
-	User localUser;
+	String downloadDirectory = "";
+	protected LineChatClientView localGUI = null;
+	IResource localResource = null;
+	User localUser = null;
 	String localVersion = "";
-	ID serverID;
-	SharedObjectEventListener sessionListener;
-	IWorkbenchWindow shellWindow;
-	String treeTopLabel;
+	ID serverID = null;
+	SharedObjectEventListener sharedObjectEventListener = null;
+	IWorkbenchWindow workbenchWindow = null;
+	String treeTopLabel = null;
 	String windowtitle = "Chat";
 	URL[] projectCodebase = null;
 
 	public EclipseCollabSharedObject() {
 	}
 
-	public EclipseCollabSharedObject(IResource proj, IWorkbenchWindow shell,
+	public EclipseCollabSharedObject(IResource proj, IWorkbenchWindow window,
 			User user, String downloaddir) {
-		this.localProject = proj;
-		this.shellWindow = shell;
+		this.localResource = proj;
+		this.workbenchWindow = window;
 		this.localUser = user;
-		this.downloaddir = downloaddir;
-		localGUI = createOutputView();
-		if (localGUI == null)
-			throw new NullPointerException(
-					"Local GUI cannot be created...exiting");
+		this.downloadDirectory = downloaddir;
+		this.localGUI = createOutputView();
+		Assert.isNotNull(localGUI,"Local GUI cannot be created...exiting");
 	}
 
 	public void activated(ID[] others) {
@@ -101,20 +99,20 @@
 				if (!getContext().isGroupManager())
 					destroySelfLocal();
 			} catch (Exception e) {
-				debugdump(e, "Unable to check whether we are server instance");
+				log("getContext() error", e);
 				destroySelfLocal();
 			}
 		}
 	}
 
 	public void chatException(Exception e, String text) {
-		debugdump(e, text);
+		log(text, e);
 	}
 
 	public void chatGUIDestroy() {
-		debugmsg("chatGUIDestroy()");
-		if (sessionListener != null) {
-			sessionListener.windowClosing();
+		if (sharedObjectEventListener != null) {
+			sharedObjectEventListener.windowClosing();
+			sharedObjectEventListener = null;
 		}
 		destroySelf();
 	}
@@ -132,95 +130,73 @@
 				localGUI = null;
 			}
 		}
-		if (sessionListener != null) {
-			sessionListener = null;
+		if (sharedObjectEventListener != null) {
+			sharedObjectEventListener = null;
 		}
-		if (shellWindow != null) {
-			shellWindow = null;
+		if (workbenchWindow != null) {
+			workbenchWindow = null;
 		}
-		if (localProject != null) {
-			localProject = null;
+		if (localResource != null) {
+			localResource = null;
 		}
 	}
 
-	public void debugdump(Exception e, String aString) {
+	public void log(String aString, Exception e) {
 		ClientPlugin.log(aString, e);
 	}
 
-	public void debugmsg(String aString) {
-		// ClientPlugin.log(aString);
-	}
-
 	public void destroySelf() {
 		// Make sure we disconnect
 		try {
-			if (isHost()) {
-				leaveGroup();
-			}
+			if (isHost()) leaveGroup();
 		} catch (Exception e) {
-			debugdump(e, "Exception in destroySelf");
+			log("Exception in destroySelf", e);
 		}
 		// Destroy self
 		super.destroySelfLocal();
 	}
 
-	public String getDownloaddir(String dir) {
-		return downloaddir;
+	public String getDownloadDirectory(String dir) {
+		return downloadDirectory;
 	}
 
-	public SharedObjectEventListener getListener() {
-		return sessionListener;
+	public SharedObjectEventListener getSharedObjectEventListener() {
+		return sharedObjectEventListener;
 	}
 
 	public String getLocalFullProjectPath() {
 		String eclipseDir = null;
 		try {
 			eclipseDir = Platform.getLocation().toOSString();
-		} catch (Exception e) {
-			debugdump(e,
-					"EclipseCollabSharedObject.  Exception getting local resource path");
+		} catch (IllegalStateException e) {
+			log("Exception getting local resource path",
+					e);
 		}
-		if (eclipseDir == null) {
-			eclipseDir = ".";
-		}
-		String projectDir = null;
-		if (getResource() == null) {
-			projectDir = downloaddir;
-		} else {
-			projectDir = getResource().getFullPath().toOSString();
-		}
-		File fresult = new File(eclipseDir, projectDir);
-		return fresult.getAbsolutePath();
+		if (eclipseDir == null) eclipseDir = ".";
+		String projectDir = (getResource() == null)?downloadDirectory:getResource().getFullPath().toOSString();
+		return new File(eclipseDir, projectDir).getAbsolutePath();
 	}
 
 	public String getLocalFullDownloadPath() {
-		String projectPath = getLocalFullProjectPath();
-		File downloadpath = new File(projectPath, downloaddir);
-		return downloadpath.getAbsolutePath();
-	}
-
-	public ID getObjectID() {
-		return getID();
+		return new File( getLocalFullProjectPath(), downloadDirectory).getAbsolutePath();
 	}
 
 	protected LineChatClientView createOutputView() {
-		final String pn = (localProject == null || localProject.getName()
-				.trim().equals("")) ? "<workspace>" : localProject.getName();
-		final String init = INIT_TEXT + pn + "\n\n";
+		final String projectName = (localResource == null || localResource.getName()
+				.trim().equals("")) ? "<workspace>" : localResource.getName();
 		Display.getDefault().syncExec(new Runnable() {
 			public void run() {
 				try {
 					if (LineChatView.isDisposed())
-						showView();
-					LineChatView.setViewName("Collaboration: "
-							+ localUser.getNickname());
+						showView(LineChatView.VIEW_ID);
+					LineChatView.setViewName(NLS.bind("Collaboration: {0}",localUser.getNickname()));
 					localGUI = LineChatView.createClientView(
-							EclipseCollabSharedObject.this, pn, init,
+							EclipseCollabSharedObject.this, projectName, NLS.bind("Collaboration for {0} \n\n",projectName),
 							getLocalFullDownloadPath());
 					show(true);
 				} catch (Exception e) {
-					debugdump(e,
-							"Exception creating output window in getOutputWindow");
+					log("Exception creating LineChatView",
+							e);
 				}
 			}
 		});
@@ -228,13 +204,10 @@
 	}
 
 	public IResource getResource() {
-		return localProject;
+		return localResource;
 	}
 
 	protected ReplicaSharedObjectDescription getReplicaDescription(ID remoteID) {
-		// no replication...depend upon clients to create
-		// local instance of their own copy of this object...with local
-		// data.
 		return null;
 	}
 
@@ -243,16 +216,7 @@
 	}
 
 	public String getTreeTopLabel() {
-		return DEFAULTTREETOPLABEL;
-	}
-
-	public ID getUniqueID() {
-		try {
-			return getLocalContainerID();
-		} catch (Exception e) {
-			debugdump(e, "Exception getting unique id");
-			return null;
-		}
+		return "Presence";
 	}
 
 	public User getUser() {
@@ -279,7 +243,7 @@
 	}
 
 	public IWorkbenchWindow getWorkbenchWindow() {
-		return shellWindow;
+		return workbenchWindow;
 	}
 
 	// SharedObjectMsg handlers
@@ -287,7 +251,7 @@
 		try {
 			createObject(null, cons);
 		} catch (Exception e) {
-			debugdump(e, "Exception creating local object " + cons);
+			log("Exception creating local object " + cons, e);
 		}
 	}
 
@@ -302,7 +266,7 @@
 				}
 			}
 		} catch (Exception e) {
-			debugdump(e, "Exception checking for membership");
+			log("Exception checking for membership", e);
 		}
 		if (add) {
 			boolean addUserResult = false;
@@ -324,7 +288,7 @@
 		try {
 			checkRegisterProxyPolicy("register", sender, proxyClass);
 		} catch (SecurityException e) {
-			debugdump(e, "SecurityException with registering Eclipse proxy");
+			log("SecurityException with registering Eclipse proxy", e);
 			throw e;
 		}
 		localRegisterProxy(sender, proxyClass, name);
@@ -348,7 +312,7 @@
 						show(true);
 					}
 				} catch (Exception e) {
-					debugdump(e, "Exception in showLineOnGUI");
+					log("Exception in showLineOnGUI", e);
 				}
 			}
 		});
@@ -366,7 +330,7 @@
 		try {
 			checkRegisterProxyPolicy("deregister", sender, name);
 		} catch (SecurityException e) {
-			debugdump(e, "SecurityException with deregistering Eclipse proxy");
+			log("SecurityException with deregistering Eclipse proxy", e);
 			throw e;
 		}
 		localUnregisterProxy(sender, name);
@@ -379,7 +343,7 @@
 					if (localGUI != null)
 						localGUI.updateTreeDisplay(fromID, item);
 				} catch (Exception e) {
-					debugdump(e, "Exception in showLineOnGUI");
+					log("Exception in showLineOnGUI", e);
 				}
 			}
 		});
@@ -392,7 +356,7 @@
 					if (localGUI != null)
 						localGUI.changeUser(ud);
 				} catch (Exception e) {
-					debugdump(e, "Exception in showLineOnGUI");
+					log("Exception in showLineOnGUI", e);
 				}
 			}
 		});
@@ -428,7 +392,7 @@
 			forwardMsgTo(null, SharedObjectMsg.createMsg(null,
 					"handleStartedTyping", localUser));
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendStartedTyping to remote clients");
+			log("Exception on sendStartedTyping to remote clients", e);
 		}
 	}
 
@@ -489,15 +453,15 @@
 			Class cl = Class.forName(proxyClass, true, ucl);
 			ec = (EclipseProjectComponent) cl.newInstance();
 		} catch (Exception e) {
-			debugdump(e,
-					"Exception loading proxy class or creating proxy instance for user "
-							+ sender.getNickname());
+			log("Exception loading proxy class or creating proxy instance for user "
+					+ sender.getNickname(),
+					e);
 			throw new RuntimeException("Exception creating proxy instance", e);
 		}
 		try {
 			ec.register(this, sender);
 		} catch (Exception e) {
-			debugdump(e, "Exception initializing EclipseProjectComponent");
+			log("Exception initializing EclipseProjectComponent", e);
 			throw new RuntimeException(
 					"Exception initializing EclipseProjectComponent", e);
 		}
@@ -526,8 +490,8 @@
 				if (ec != null)
 					ec.deregister(this);
 			} catch (Exception e) {
-				debugdump(e, "Exception deregistering component with name "
-						+ name + " with User " + ud);
+				log("Exception deregistering component with name "
+						+ name + " with User " + ud, e);
 			}
 		}
 	}
@@ -548,16 +512,16 @@
 	}
 
 	public void memberAdded(ID member) {
-		if (sessionListener != null) {
-			sessionListener.memberAdded(member);
+		if (sharedObjectEventListener != null) {
+			sharedObjectEventListener.memberAdded(member);
 		}
 		super.memberAdded(member);
 		sendNotifyUserAdded();
 	}
 
 	public void memberRemoved(final ID member) {
-		if (sessionListener != null) {
-			sessionListener.memberRemoved(member);
+		if (sharedObjectEventListener != null) {
+			sharedObjectEventListener.memberRemoved(member);
 		}
 		super.memberRemoved(member);
 		Display.getDefault().syncExec(new Runnable() {
@@ -567,7 +531,7 @@
 						localGUI.removeUser(member);
 					}
 				} catch (Exception e) {
-					debugdump(e, "Exception in showLineOnGUI");
+					log("Exception in showLineOnGUI", e);
 				}
 			}
 		});
@@ -583,32 +547,32 @@
 				sendSelf(m);
 			}
 		} catch (Exception e) {
-			debugdump(e, "Exception sending message to proxy object");
+			log("Exception sending message to proxy object", e);
 		}
 	}
 
 	public void otherActivated(ID object) {
-		if (sessionListener != null) {
-			sessionListener.otherActivated(object);
+		if (sharedObjectEventListener != null) {
+			sharedObjectEventListener.otherActivated(object);
 		}
 		super.otherActivated(object);
 	}
 
 	public void otherDeactivated(ID object) {
-		if (sessionListener != null) {
-			sessionListener.otherDeactivated(object);
+		if (sharedObjectEventListener != null) {
+			sharedObjectEventListener.otherDeactivated(object);
 		}
 		super.otherDeactivated(object);
 	}
 
 	public void refreshProject() {
-		if (localProject != null) {
+		if (localResource != null) {
 			try {
-				localProject.refreshLocal(IResource.DEPTH_INFINITE,
+				localResource.refreshLocal(IResource.DEPTH_INFINITE,
 						new NullProgressMonitor());
 			} catch (Exception e) {
-				debugdump(e, "Exception refreshing resource "
-						+ localProject.getName());
+				log("Exception refreshing resource "
+						+ localResource.getName(), e);
 			}
 		}
 	}
@@ -620,8 +584,8 @@
 			try {
 				localRegisterProxy(localUser, proxyClass, name);
 			} catch (Exception e) {
-				debugdump(e, "Exception registering proxy class " + proxyClass
-						+ " locally");
+				log("Exception registering proxy class " + proxyClass
+						+ " locally", e);
 				throw new RuntimeException(
 						"registerEclipseProxy.  Local registration failed", e);
 			}
@@ -636,8 +600,8 @@
 				try {
 					sendRegisterProxy(toReceivers[i], proxyClass, name);
 				} catch (Exception e) {
-					debugdump(e, "Exception sending register proxy message to "
-							+ toReceivers[i]);
+					log("Exception sending register proxy message to "
+							+ toReceivers[i], e);
 				}
 			}
 		}
@@ -655,7 +619,7 @@
 			forwardMsgTo(null, SharedObjectMsg.createMsg(null,
 					"handleNotifyUserAdded", localUser));
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendNotifyUserAdded to remote clients");
+			log("Exception on sendNotifyUserAdded to remote clients", e);
 		}
 	}
 
@@ -664,8 +628,8 @@
 			forwardMsgTo(touser.getUserID(), SharedObjectMsg.createMsg(null,
 					"handleShowPrivateTextMsg", localUser, msg));
 		} catch (Exception e) {
-			debugdump(e,
-					"Exception on sendShowPrivateTextMsg to remote clients");
+			log("Exception on sendShowPrivateTextMsg to remote clients",
+					e);
 		}
 	}
 
@@ -674,16 +638,16 @@
 			forwardMsgTo(toID, SharedObjectMsg.createMsg(null,
 					"handleRegisterProxy", localUser, proxyClass, name));
 		} catch (IOException e) {
-			debugdump(e, "Exception sendRegisterProxy");
+			log("Exception sendRegisterProxy", e);
 		}
 	}
 
 	public void sendRequestUserUpdate(ID requestTarget) {
 		try {
 			forwardMsgTo(requestTarget, SharedObjectMsg.createMsg(null,
-					"handleRequestUserUpdate", getUniqueID()));
+					"handleRequestUserUpdate", localContainerID));
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendRequestUserUpdate to remote clients");
+			log("Exception on sendRequestUserUpdate to remote clients", e);
 		}
 	}
 
@@ -700,8 +664,8 @@
 				sendSelf(m);
 			}
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendCVSProjectUpdateRequest to "
-					+ touser);
+			log("Exception on sendCVSProjectUpdateRequest to "
+					+ touser, e);
 		}
 	}
 
@@ -710,8 +674,8 @@
 			// return CVSWorkspaceRoot.isSharedWithCVS(getProject());
 			return false;
 		} catch (Exception e) {
-			debugdump(e,
-					"CVS Exception calling isSharedWithCVS in TeamUpdateAction");
+			log("CVS Exception calling isSharedWithCVS in TeamUpdateAction",
+					e);
 			return false;
 		}
 	}
@@ -749,7 +713,7 @@
 			if (receiver == null)
 				sendSelf(m);
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendMessageToUser to " + user);
+			log("Exception on sendMessageToUser to " + user, e);
 		}
 	}
 
@@ -758,10 +722,10 @@
 			trace("sendImage(" + wrapper + ")");
 			forwardMsgTo(null, SharedObjectMsg.createMsg(
 					EclipseCollabSharedObject.class.getName(),
-					"handleShowImage", getUniqueID(), wrapper));
+					"handleShowImage", localContainerID, wrapper));
 		} catch (Exception e) {
 			e.printStackTrace();
-			debugdump(e, "Exception on sendShowTextMsg to remote clients");
+			log("Exception on sendShowTextMsg to remote clients", e);
 		}
 	}
 
@@ -793,9 +757,9 @@
 		try {
 			trace("sendShowTextMsg(" + msg + ")");
 			forwardMsgTo(null, SharedObjectMsg.createMsg(null,
-					"handleShowTextMsg", getUniqueID(), msg));
+					"handleShowTextMsg", localContainerID, msg));
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendShowTextMsg to remote clients");
+			log("Exception on sendShowTextMsg to remote clients", e);
 		}
 	}
 
@@ -804,16 +768,16 @@
 			forwardMsgTo(toID, SharedObjectMsg.createMsg(null,
 					"handleUnregisterProxy", localUser, proxyClass));
 		} catch (IOException e) {
-			debugdump(e, "Exception sendRegisterProxy");
+			log("Exception sendRegisterProxy", e);
 		}
 	}
 
 	public void sendUpdateTreeDisplay(ID target, TreeItem item) {
 		try {
 			forwardMsgTo(target, SharedObjectMsg.createMsg(null,
-					"handleUpdateTreeDisplay", getUniqueID(), item));
+					"handleUpdateTreeDisplay", localContainerID, item));
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendUpdateTreeDisplay to remote clients");
+			log("Exception on sendUpdateTreeDisplay to remote clients", e);
 		}
 	}
 
@@ -822,12 +786,12 @@
 			forwardMsgTo(target, SharedObjectMsg.createMsg(null,
 					"handleUserUpdate", localUser));
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendUserUpdate to remote clients");
+			log("Exception on sendUserUpdate to remote clients", e);
 		}
 	}
 
 	public void setListener(SharedObjectEventListener l) {
-		sessionListener = l;
+		sharedObjectEventListener = l;
 	}
 
 	public void setServerID(ID server) {
@@ -881,7 +845,7 @@
 								getUserForID(remote)));
 					activateView();
 				} catch (Exception e) {
-					debugdump(e, "Exception in showLineOnGUI");
+					log("Exception in showLineOnGUI", e);
 				}
 			}
 		});
@@ -900,20 +864,12 @@
 						activateView();
 					}
 				} catch (Exception e) {
-					debugdump(e, "Exception in showLineOnGUI");
+					log("Exception in showLineOnGUI", e);
 				}
 			}
 		});
 	}
 
-	public void showView() {
-		try {
-			showView(CHAT_VIEW_ID);
-		} catch (Exception e) {
-			debugdump(e, "Exception showing view");
-		}
-	}
-
 	public static class SharedMarker implements Serializable {
 		private static final long serialVersionUID = 7419507867486828728L;
 		String message = null;
@@ -963,7 +919,7 @@
 				sendSelf(m);
 			}
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendAddMarkerForFile to " + touser);
+			log("Exception on sendAddMarkerForFile to " + touser, e);
 		}
 	}
 
@@ -983,7 +939,7 @@
 				sendSelf(m);
 			}
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendAddMarkerForFile to " + touser);
+			log("Exception on sendAddMarkerForFile to " + touser, e);
 		}
 	}
 
@@ -1000,7 +956,7 @@
 				sendSelf(m);
 			}
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendLaunchEditorForFile to " + touser);
+			log("Exception on sendLaunchEditorForFile to " + touser, e);
 		}
 	}
 
@@ -1021,7 +977,7 @@
 								: offset.intValue(), (length == null) ? 0
 								: length.intValue());
 					} catch (Exception e) {
-						debugdump(e, "Exception in openEditorAndSelectForFile");
+						log("Exception in openEditorAndSelectForFile", e);
 					}
 				}
 			}
@@ -1050,7 +1006,7 @@
 					try {
 						eh.openEditorForFile(file);
 					} catch (Exception e) {
-						debugdump(e, "Exception in openEditorAndSelectForFile");
+						log("Exception in openEditorAndSelectForFile", e);
 					}
 				}
 			}
@@ -1070,7 +1026,7 @@
 				try {
 					eh.openAndAddMarkerForFile(file, marker);
 				} catch (Exception e) {
-					debugdump(e, "Exception in addMarkerForFile");
+					log("Exception in addMarkerForFile", e);
 				}
 			}
 		});
@@ -1209,7 +1165,7 @@
 				sendSelf(m);
 			}
 		} catch (Exception e) {
-			debugdump(e, "Exception on handleShowViewWithID to " + touser);
+			log("Exception on handleShowViewWithID to " + touser, e);
 		}
 	}
 
@@ -1226,8 +1182,8 @@
 				sendSelf(m);
 			}
 		} catch (Exception e) {
-			debugdump(e, "Exception on sendCVSProjectUpdateRequest to "
-					+ touser);
+			log("Exception on sendCVSProjectUpdateRequest to "
+					+ touser, e);
 		}
 	}
 
@@ -1238,8 +1194,8 @@
 				try {
 					showViewWithID(id, secID, mode.intValue());
 				} catch (Exception e) {
-					debugdump(e, "Exception in showing view id=" + id
-							+ ";secID=" + secID + ";mode=" + mode);
+					log("Exception in showing view id=" + id
+							+ ";secID=" + secID + ";mode=" + mode, e);
 				}
 			}
 		});
@@ -1251,7 +1207,7 @@
 				try {
 					showView(id);
 				} catch (Exception e) {
-					debugdump(e, "Exception in showing view id=" + id);
+					log("Exception in showing view id=" + id, e);
 				}
 			}
 		});
@@ -1273,8 +1229,7 @@
 				.getActiveWorkbenchWindow();
 		IWorkbenchPage wp = ww.getActivePage();
 		if (wp == null)
-			throw new NullPointerException("showView(" + id + ") "
-					+ "workbench page is null");
+			throw new PartInitException("workbench page is null");
 		return wp.showView(id);
 	}
 
@@ -1285,7 +1240,7 @@
 			try {
 				localUnregisterProxy(getUser(), name);
 			} catch (Exception e) {
-				debugdump(e, "Exception deregistering " + name + " locally");
+				log("Exception deregistering " + name + " locally", e);
 				throw new RuntimeException(
 						"deregisterEclipseProxy.  Local deregistration failed",
 						e);
@@ -1301,8 +1256,8 @@
 				try {
 					sendUnregisterProxy(toReceivers[i], name);
 				} catch (Exception e) {
-					debugdump(e, "Exception sending register proxy message to "
-							+ toReceivers[i]);
+					log("Exception sending register proxy message to "
+							+ toReceivers[i], e);
 				}
 			}
 		}
@@ -1342,13 +1297,7 @@
 	public void updateTreeDisplay(final TreeItem item) {
 		Display.getDefault().syncExec(new Runnable() {
 			public void run() {
-				try {
-					if (localGUI != null) {
-						localGUI.updateTreeDisplay(getUniqueID(), item);
-					}
-				} catch (Exception e) {
-					debugdump(e, "Exception in updateTreeDisplay");
-				}
+				if (localGUI != null) localGUI.updateTreeDisplay(localContainerID, item);
 			}
 		});
 		// Send update message to all replicas
@@ -1361,18 +1310,6 @@
 		return localGUI.getView();
 	}
 
-	public Control getTreeControl() {
-		if (localGUI == null)
-			return null;
-		return localGUI.getTreeControl();
-	}
-
-	public Control getTextControl() {
-		if (localGUI == null)
-			return null;
-		return localGUI.getTextControl();
-	}
-
 	public ID createObject(ID target, String classname, Map map)
 			throws Exception {
 		return createObject(target, new ReplicaSharedObjectDescription(Class
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseMessage.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseMessage.java
index 57c0b83..a134c21 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseMessage.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseMessage.java
@@ -16,7 +16,7 @@
 import org.eclipse.ecf.core.sharedobject.ISharedObjectConfig;
 import org.eclipse.ecf.core.sharedobject.ReplicaSharedObjectDescription;
 import org.eclipse.ecf.core.sharedobject.SharedObjectInitException;
-import org.eclipse.ecf.example.collab.Trace;
+import org.eclipse.ecf.internal.example.collab.Trace;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.swt.widgets.Display;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseProject.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseProject.java
index 062734f..9b0ab46 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseProject.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseProject.java
@@ -14,9 +14,7 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.ecf.core.identity.ID;
 import org.eclipse.ecf.core.sharedobject.ISharedObjectContext;
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.part.ViewPart;
 
 
 /**
@@ -43,8 +41,4 @@
 	public void sendPrivateMessageToUser(User touser, String msg);
 	public void sendShowTextMsg(String msg);
 	
-	public ViewPart getViewPart();
-	public Control getTreeControl();
-	public Control getTextControl();
-
 }
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseProjectComponent.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseProjectComponent.java
index e73f33f..1ca012c 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseProjectComponent.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EclipseProjectComponent.java
@@ -29,7 +29,7 @@
 	 * may override this method in order to initialize, setup ui for 
 	 * this component, or perform some other component startup functions
 	 * 
-	 * @param obj
+	 * @param sharedObject
 	 * @param requestor
 	 * @throws Exception
 	 */
@@ -51,7 +51,7 @@
 	 * associated EclipseProject.  Component implementers
 	 * may override this method in order to cleanup during component shutdown
 	 * 
-	 * @param obj
+	 * @param sharedObject
 	 * @throws Exception
 	 */
 	public void deregister(EclipseProject obj);
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/GenericSharedObject.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/GenericSharedObject.java
index 8033a9e..e05eb51 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/GenericSharedObject.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/GenericSharedObject.java
@@ -36,7 +36,7 @@
 import org.eclipse.ecf.core.sharedobject.util.IQueueEnqueue;
 import org.eclipse.ecf.core.sharedobject.util.QueueException;
 import org.eclipse.ecf.core.util.Event;
-import org.eclipse.ecf.example.collab.Trace;
+import org.eclipse.ecf.internal.example.collab.Trace;
 
 /**
  * @author slewis
@@ -224,10 +224,6 @@
         return replicateID++;
     }
 
-    public ID getLocalContainerID() {
-        return localContainerID;
-    }
-
     protected ReplicaSharedObjectDescription getReplicaDescription(ID receiver) {
         ISharedObjectConfig soconfig = getConfig();
         if (soconfig != null) {
@@ -347,7 +343,7 @@
     public boolean isHost() {
         ID homeContainerID = getHomeContainerID();
         if (homeContainerID == null) return false;
-        else return (homeContainerID.equals(getLocalContainerID()));
+        else return (homeContainerID.equals(localContainerID));
     }
 
     protected Object isMsgAllowed(ID fromID, SharedObjectMsg aMsg) {
@@ -451,7 +447,7 @@
     public void sharedObjectMsg(ID fromID, SharedObjectMsg msg) {
         if (isMsgAllowed(fromID, msg) != null) {
             currentMsgFromObjID = fromID;
-            execMsg(getLocalContainerID(), msg);
+            execMsg(localContainerID, msg);
             currentMsgFromObjID = null;
         } else {
             ignoreSharedObjectMsg(fromID, msg);
@@ -473,7 +469,7 @@
     public ID createObject(ID target, ReplicaSharedObjectDescription desc) throws Exception {
     	if (target == null) {
     		if (desc.getID()==null) {
-    			desc.setID(IDFactory.getDefault().createStringID(getNewUniqueIDString()));
+    			desc.setID(IDFactory.getDefault().createStringID(getUniqueString()));
     		}
             try {
             	return getContext().getSharedObjectManager().createSharedObject(desc);
@@ -484,7 +480,7 @@
     	} else throw new Exception("cannot send object creation request "+desc+" direct to target");
 	}
 
-    public String getNewUniqueIDString() {
+    public String getUniqueString() {
         return String.valueOf((new Random()).nextLong());
     }
 }
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/SharedObjectMsg.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/SharedObjectMsg.java
index 93d576d..d9ad0ee 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/SharedObjectMsg.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/SharedObjectMsg.java
@@ -17,6 +17,8 @@
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
+
+import org.eclipse.core.runtime.Assert;
 import org.eclipse.ecf.core.identity.ID;
 
 public class SharedObjectMsg implements Serializable {
@@ -27,10 +29,8 @@
     // Static factory methods for creating SharedObjectMsg instances
     public static SharedObjectMsg createMsg(String className, String methodName,
             Object[] param) {
-        if (methodName == null || param == null) {
-            throw new NullPointerException(
-                    "Invalid SharedObjectMsg construction");
-        }
+    	Assert.isNotNull(methodName);
+    	Assert.isNotNull(param);
         return new SharedObjectMsg(className, methodName, param);
     }
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/TestEclipseSessionComponent.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/TestEclipseSessionComponent.java
deleted file mode 100644
index 88cfd9c..0000000
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/TestEclipseSessionComponent.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-* Copyright (c) 2004 Composent, Inc. and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*    Composent, Inc. - initial API and implementation
-*****************************************************************************/
-
-package org.eclipse.ecf.example.collab.share;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Display;
-
-public class TestEclipseSessionComponent implements EclipseProjectComponent {
-    EclipseProject repobj = null;
-    User requestor = null;
-
-    public TestEclipseSessionComponent() {
-        super();
-    }
-
-    public Object invoke(String meth, Object[] args) {
-        String argStr = "";
-        if (args != null) {
-            for (int i = 0; i < args.length; i++) {
-                argStr = argStr + "\t\t" + args[i].toString() + "\n";
-            }
-        }
-        showMsg("EclipseProjectComponent " + this.getClass().getName()
-                + " invoke", "Method: '" + meth + "' \n\tArgs:\n" + argStr);
-        return null;
-    }
-
-    public void register(EclipseProject obj, final User r)
-            throws Exception {
-        this.repobj = obj;
-        this.requestor = r;
-        showMsg("Registration request from " + requestor.getNickname()
-                + ".  ID: " + requestor.getUserID(),
-                "EclipseProjectComponent '" + this.getClass().getName()
-                        + "' registered");
-    }
-
-    public void showMessage(String msg) {
-        showMsg("EclipseProjectComponent Message", msg);
-    }
-
-    protected void showMsg(final String title, final String msg) {
-        Display.getDefault().asyncExec(new Runnable() {
-            public void run() {
-                MessageDialog.openInformation(null, title, msg);
-            }
-        });
-    }
-
-    public void deregister(EclipseProject obj) {
-        showMsg("Deregistration request from " + requestor.getNickname()
-                + ".  ID: " + requestor.getUserID(),
-                "EclipseProjectComponent '" + this.getClass().getName()
-                        + "' deregistered");
-        repobj = null;
-        requestor = null;
-    }
-}
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/TransactionSharedObject.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/TransactionSharedObject.java
index 801423b..2ea8a4b 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/TransactionSharedObject.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/TransactionSharedObject.java
@@ -17,7 +17,7 @@
 import org.eclipse.ecf.core.identity.ID;
 import org.eclipse.ecf.core.sharedobject.ISharedObjectContainerTransaction;
 import org.eclipse.ecf.core.sharedobject.SharedObjectAddAbortException;
-import org.eclipse.ecf.example.collab.Trace;
+import org.eclipse.ecf.internal.example.collab.Trace;
 
 public class TransactionSharedObject extends GenericSharedObject implements ISharedObjectContainerTransaction {
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/EclipseFileTransfer.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/EclipseFileTransfer.java
index 76a6859..c1d49ee 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/EclipseFileTransfer.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/EclipseFileTransfer.java
@@ -21,10 +21,10 @@
 import org.eclipse.ecf.core.sharedobject.ReplicaSharedObjectDescription;
 import org.eclipse.ecf.core.sharedobject.SharedObjectAddAbortException;
 import org.eclipse.ecf.core.sharedobject.SharedObjectInitException;
-import org.eclipse.ecf.example.collab.ClientPlugin;
 import org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject;
-import org.eclipse.ecf.example.collab.ui.FileReceiverUI;
-import org.eclipse.ecf.example.collab.ui.FileSenderUI;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ui.FileReceiverUI;
+import org.eclipse.ecf.internal.example.collab.ui.FileSenderUI;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.swt.widgets.Display;
 
@@ -34,17 +34,17 @@
 	private static final long serialVersionUID = -4496151870561737078L;
 
 	FileSenderUI senderUI;
-	ID eclipseStageID;
+	ID sharedObjectID;
 	protected File localFile = null;
 	protected FileReceiverUI receiverUI = null;
-	protected EclipseCollabSharedObject receiverStage = null;
+	protected EclipseCollabSharedObject receiver = null;
 
 	public EclipseFileTransfer(FileSenderUI view, ID target, InputStream ins,
-			FileTransferParams params, ID receiverID) {
+			FileTransferParams params, ID sharedObjectID) {
 		super(target, ins, params);
-		senderUI = view;
-		progressListener = this;
-		this.eclipseStageID = receiverID;
+		this.senderUI = view;
+		this.progressListener = this;
+		this.sharedObjectID = sharedObjectID;
 	}
 
     protected void addRemoteParticipants(ID ids[])
@@ -54,18 +54,17 @@
             for(int i=0; i < ids.length; i++) {
             	if (groupID != null && groupID.equals(ids[i])) continue;
             	if (targetReceiver == null) {
-            		if (!getHomeContainerID().equals(ids[i])) participantIDs.addElement(ids[i]);
+            		if (!getHomeContainerID().equals(ids[i])) participantIDs.add(ids[i]);
             	} else {
-            		if (targetReceiver.equals(ids[i])) participantIDs.addElement(ids[i]);
+            		if (targetReceiver.equals(ids[i])) participantIDs.add(ids[i]);
             	}
             }
         }
-        trace("addRemoteParticipants(participants="+participantIDs);
     }
 
 	protected ReplicaSharedObjectDescription getReplicaDescription(ID remoteMember) {
 		HashMap map = new HashMap();
-		map.put("args", new Object[] { transferParams, eclipseStageID });
+		map.put("args", new Object[] { transferParams, sharedObjectID });
 		map.put("types", new String[] { FileTransferParams.class.getName(),
 				ID.class.getName() });
 		return new ReplicaSharedObjectDescription(getClass(), getID(),getConfig().getHomeContainerID(),map,
@@ -76,12 +75,10 @@
 			throws SharedObjectInitException {
 		super.init(config);
 		Map props = config.getProperties();
-		System.out.println("EclipseFileTransfer.init(id="+getID()+",localcontid="+getLocalContainerID()+",homecontid="+getHomeContainerID()+",props="+props);
-		trace("args is " + props);
 		Object[] args = (Object[]) props.get("args");
 		if (args != null && args.length == 2) {
 			transferParams = (FileTransferParams) args[0];
-			eclipseStageID = (ID) args[1];
+			sharedObjectID = (ID) args[1];
 			progressListener = this;
 		}
 		if (args != null && args.length == 5) {
@@ -89,7 +86,7 @@
 			targetReceiver = (ID) args[1];
 			setInputStream((InputStream) args[2]);
 			transferParams = (FileTransferParams) args[3];
-			eclipseStageID = (ID) args[4];
+			sharedObjectID = (ID) args[4];
 			progressListener = this;
 		}
 	}
@@ -103,7 +100,7 @@
 	public EclipseFileTransfer(FileTransferParams params, ID receiverID) {
 		super(params);
 		this.progressListener = this;
-		this.eclipseStageID = receiverID;
+		this.sharedObjectID = receiverID;
 	}
 
 	public EclipseFileTransfer() {
@@ -227,8 +224,8 @@
 			// First, find out if our local environment has access to an
 			// EclipseCollabSharedObject instance
 			try {
-				receiverStage = (EclipseCollabSharedObject) getContext()
-						.getSharedObjectManager().getSharedObject(eclipseStageID);
+				receiver = (EclipseCollabSharedObject) getContext()
+						.getSharedObjectManager().getSharedObject(sharedObjectID);
 			} catch (Exception e) {
 				// Should never happen
 				e.printStackTrace(System.err);
@@ -240,10 +237,10 @@
 				e.printStackTrace(System.err);
 			}
 
-			if (receiverStage != null) {
-				receiverUI = receiverStage.getFileReceiverUI(EclipseFileTransfer.this, transferParams);
+			if (receiver != null) {
+				receiverUI = receiver.getFileReceiverUI(EclipseFileTransfer.this, transferParams);
 			}
-			localFile = createPath(receiverStage, isServer, aFile, length, rate);
+			localFile = createPath(receiver, isServer, aFile, length, rate);
 			// Our superclass depends upon the transferParams.getRemoteFile() call
 			// to give a valid file.
 			// We modify this to the new local file we've decided upon
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/EclipseFileTransferAndLaunch.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/EclipseFileTransferAndLaunch.java
index 7bf87ca..db89f7c 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/EclipseFileTransferAndLaunch.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/EclipseFileTransferAndLaunch.java
@@ -12,9 +12,9 @@
 package org.eclipse.ecf.example.collab.share.io;
 
 import java.io.File;
-import org.eclipse.ecf.example.collab.ClientPlugin;
 import org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject;
-import org.eclipse.ecf.example.collab.ui.MessageLoader;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ui.MessageLoader;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.swt.program.Program;
 import org.eclipse.swt.widgets.Display;
@@ -36,7 +36,7 @@
         EclipseCollabSharedObject sender = null;
         try {
             sender = (EclipseCollabSharedObject) getContext()
-                    .getSharedObjectManager().getSharedObject(eclipseStageID);
+                    .getSharedObjectManager().getSharedObject(sharedObjectID);
         } catch (Exception except) {
             // Should never happen
             except.printStackTrace(System.err);
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileData.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileData.java
index 83a9919..8606b10 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileData.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileData.java
@@ -1,13 +1,13 @@
 /****************************************************************************
-* Copyright (c) 2004 Composent, Inc. and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*    Composent, Inc. - initial API and implementation
-*****************************************************************************/
+ * Copyright (c) 2004 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Composent, Inc. - initial API and implementation
+ *****************************************************************************/
 
 package org.eclipse.ecf.example.collab.share.io;
 
@@ -16,40 +16,34 @@
 import java.io.OutputStream;
 import java.io.Serializable;
 
-public class FileData implements Serializable
-{
+public class FileData implements Serializable {
 	static final long serialVersionUID = 469244980886541978L;
-	byte [] myData;
-    int read;
+	byte[] myData;
+	int read;
 
-    FileData(InputStream ins, int chunkSize) throws IOException
-    {
-        myData = new byte[chunkSize];
-        read = ins.read(myData);
-    }
+	FileData(InputStream ins, int chunkSize) throws IOException {
+		myData = new byte[chunkSize];
+		read = ins.read(myData);
+	}
 
-    FileData()
-    {
-        read = -1;
-    }
+	FileData() {
+		read = -1;
+	}
 
-    void saveData(OutputStream aFileStream) throws IOException
-    {
-        if (read != -1) aFileStream.write(myData, 0, read);
-    }
+	void saveData(OutputStream aFileStream) throws IOException {
+		if (read != -1)
+			aFileStream.write(myData, 0, read);
+	}
 
-    boolean isDone()
-    {
-        return (read==-1);
-    }
+	boolean isDone() {
+		return (read == -1);
+	}
 
-    int getDataSize()
-    {
-        return read;
-    }
+	int getDataSize() {
+		return read;
+	}
 
-    public String toString()
-    {
-        return "FileData["+read+";"+isDone()+"]";
-    }
+	public String toString() {
+		return "FileData[" + read + ";" + isDone() + "]";
+	}
 }
\ No newline at end of file
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferListener.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferListener.java
index aa88e3e..62d8b68 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferListener.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferListener.java
@@ -1,26 +1,30 @@
 /****************************************************************************
-* Copyright (c) 2004 Composent, Inc. and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*    Composent, Inc. - initial API and implementation
-*****************************************************************************/
+ * Copyright (c) 2004 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Composent, Inc. - initial API and implementation
+ *****************************************************************************/
 
 package org.eclipse.ecf.example.collab.share.io;
 
 import java.io.File;
 import java.io.Serializable;
 
-public interface FileTransferListener extends Serializable
-{
-    public void sendStart(FileTransferSharedObject obj, long length, float rate);
-    public void sendData(FileTransferSharedObject obj, int dataLength);
-    public void sendDone(FileTransferSharedObject obj, Exception e);
+public interface FileTransferListener extends Serializable {
+	public void sendStart(FileTransferSharedObject obj, long length, float rate);
 
-    public void receiveStart(FileTransferSharedObject obj, File aFile, long length, float rate);
-    public void receiveData(FileTransferSharedObject obj, int dataLength);
-    public void receiveDone(FileTransferSharedObject obj, Exception e);
+	public void sendData(FileTransferSharedObject obj, int dataLength);
+
+	public void sendDone(FileTransferSharedObject obj, Exception e);
+
+	public void receiveStart(FileTransferSharedObject obj, File aFile,
+			long length, float rate);
+
+	public void receiveData(FileTransferSharedObject obj, int dataLength);
+
+	public void receiveDone(FileTransferSharedObject obj, Exception e);
 }
\ No newline at end of file
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferParams.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferParams.java
index b484ccb..5f8f7e9 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferParams.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferParams.java
@@ -1,13 +1,13 @@
 /****************************************************************************
-* Copyright (c) 2004 Composent, Inc. and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*    Composent, Inc. - initial API and implementation
-*****************************************************************************/
+ * Copyright (c) 2004 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Composent, Inc. - initial API and implementation
+ *****************************************************************************/
 
 package org.eclipse.ecf.example.collab.share.io;
 
@@ -15,145 +15,132 @@
 import java.io.Serializable;
 import java.util.Date;
 
-public class FileTransferParams implements Serializable
-{
+public class FileTransferParams implements Serializable {
 	private static final long serialVersionUID = -2871056005778727843L;
 	protected static int DEFAULT_CHUNK_SIZE = 1024;
-    protected static int DEFAULT_WAIT_TIME = 1000;
-    protected static int DEFAULT_FILE_LENGTH = -1;
-    protected static  boolean DEFAULT_INCLUDE_SERVER = false;
-    // Suggested remote file name
-    protected File remoteFile;
-    protected int chunkSize;
-    protected int waitTime;
-    protected Date startDate;
-    protected boolean includeServer;
-    protected long length;
-    protected float rate;
-    protected FileTransferListener progressListener;
+	protected static int DEFAULT_WAIT_TIME = 1000;
+	protected static int DEFAULT_FILE_LENGTH = -1;
+	protected static boolean DEFAULT_INCLUDE_SERVER = false;
+	// Suggested remote file name
+	protected File remoteFile;
+	protected int chunkSize;
+	protected int waitTime;
+	protected Date startDate;
+	protected boolean includeServer;
+	protected long length;
+	protected float rate;
+	protected FileTransferListener progressListener;
 
-    static {
-        try {
-            String str = System.getProperty(FileTransferParams.class.getName()+".FILECHUNKSIZE", ""+DEFAULT_CHUNK_SIZE);
-            DEFAULT_CHUNK_SIZE = Integer.parseInt(str);
-            str = System.getProperty(FileTransferParams.class.getName()+".FILEWAITTIME", DEFAULT_WAIT_TIME+"");
-            DEFAULT_WAIT_TIME = Integer.parseInt(str);
-            str = System.getProperty(FileTransferParams.class.getName()+".FILELENGTH", DEFAULT_FILE_LENGTH+"");
-            DEFAULT_FILE_LENGTH = Integer.parseInt(str);
-            str = System.getProperty(FileTransferParams.class.getName()+".FILEINCLUDESERVER", "false");
-            DEFAULT_INCLUDE_SERVER = Boolean.valueOf(str).booleanValue();
-        } catch (Exception e) {
-        }
-    }
+	static {
+		try {
+			String str = System.getProperty(FileTransferParams.class.getName()
+					+ ".FILECHUNKSIZE", "" + DEFAULT_CHUNK_SIZE);
+			DEFAULT_CHUNK_SIZE = Integer.parseInt(str);
+			str = System.getProperty(FileTransferParams.class.getName()
+					+ ".FILEWAITTIME", DEFAULT_WAIT_TIME + "");
+			DEFAULT_WAIT_TIME = Integer.parseInt(str);
+			str = System.getProperty(FileTransferParams.class.getName()
+					+ ".FILELENGTH", DEFAULT_FILE_LENGTH + "");
+			DEFAULT_FILE_LENGTH = Integer.parseInt(str);
+			str = System.getProperty(FileTransferParams.class.getName()
+					+ ".FILEINCLUDESERVER", "false");
+			DEFAULT_INCLUDE_SERVER = Boolean.valueOf(str).booleanValue();
+		} catch (Exception e) {
+		}
+	}
 
-    public FileTransferParams(File aFile, int chunkSize,
-                        int waitTime, Date startDate,
-                        boolean includeServer, long length,
-                        FileTransferListener listener)
-    {
-        remoteFile = aFile;
-        if (chunkSize == -1) this.chunkSize = DEFAULT_CHUNK_SIZE;
-        else this.chunkSize = chunkSize;
-        this.waitTime = waitTime;
-        if (waitTime == -1) this.waitTime = DEFAULT_WAIT_TIME;
-        else this.waitTime = waitTime;
-        this.startDate = startDate;
-        this.includeServer = includeServer;
-        this.length = length;
-        this.rate = (chunkSize*8)/((float) waitTime/(float) 1000);
-        this.progressListener = listener;
-    }
+	public FileTransferParams(File aFile, int chunkSize, int waitTime,
+			Date startDate, boolean includeServer, long length,
+			FileTransferListener listener) {
+		remoteFile = aFile;
+		if (chunkSize == -1)
+			this.chunkSize = DEFAULT_CHUNK_SIZE;
+		else
+			this.chunkSize = chunkSize;
+		this.waitTime = waitTime;
+		if (waitTime == -1)
+			this.waitTime = DEFAULT_WAIT_TIME;
+		else
+			this.waitTime = waitTime;
+		this.startDate = startDate;
+		this.includeServer = includeServer;
+		this.length = length;
+		this.rate = (chunkSize * 8) / ((float) waitTime / (float) 1000);
+		this.progressListener = listener;
+	}
 
-    public FileTransferParams()
-    {
-        this(null, DEFAULT_CHUNK_SIZE,
-            DEFAULT_WAIT_TIME, null,
-            DEFAULT_INCLUDE_SERVER, DEFAULT_FILE_LENGTH, null);
-    }
+	public FileTransferParams() {
+		this(null, DEFAULT_CHUNK_SIZE, DEFAULT_WAIT_TIME, null,
+				DEFAULT_INCLUDE_SERVER, DEFAULT_FILE_LENGTH, null);
+	}
 
-    public File getRemoteFile()
-    {
-        return remoteFile;
-    }
+	public File getRemoteFile() {
+		return remoteFile;
+	}
 
-    public void setRemoteFile(File aFile)
-    {
-        remoteFile = aFile;
-    }
+	public void setRemoteFile(File aFile) {
+		remoteFile = aFile;
+	}
 
-    public int getChunkSize()
-    {
-        return chunkSize;
-    }
+	public int getChunkSize() {
+		return chunkSize;
+	}
 
-    public void setChunkSize(int size)
-    {
-        chunkSize = size;
-    }
+	public void setChunkSize(int size) {
+		chunkSize = size;
+	}
 
-    public int getWaitTime()
-    {
-        return waitTime;
-    }
+	public int getWaitTime() {
+		return waitTime;
+	}
 
-    public void setWaitTime(int wait)
-    {
-        waitTime = wait;
-    }
+	public void setWaitTime(int wait) {
+		waitTime = wait;
+	}
 
-    public Date getStartDate()
-    {
-        return startDate;
-    }
+	public Date getStartDate() {
+		return startDate;
+	}
 
-    public void setStartDate(Date aDate)
-    {
-        startDate = aDate;
-    }
+	public void setStartDate(Date aDate) {
+		startDate = aDate;
+	}
 
-    public boolean getIncludeServer()
-    {
-        return includeServer;
-    }
+	public boolean getIncludeServer() {
+		return includeServer;
+	}
 
-    public void setIncludeServer(boolean include)
-    {
-        includeServer = include;
-    }
+	public void setIncludeServer(boolean include) {
+		includeServer = include;
+	}
 
-    public long getLength()
-    {
-        return length;
-    }
+	public long getLength() {
+		return length;
+	}
 
-    public void setLength(long len)
-    {
-        length = len;
-    }
+	public void setLength(long len) {
+		length = len;
+	}
 
-    public float getRate()
-    {
-        return rate;
-    }
+	public float getRate() {
+		return rate;
+	}
 
-    protected FileTransferListener getProgressListener()
-    {
-        return progressListener;
-    }
+	protected FileTransferListener getProgressListener() {
+		return progressListener;
+	}
 
-    protected void setProgressListener(FileTransferListener list)
-    {
-        progressListener = list;
-    }
+	protected void setProgressListener(FileTransferListener list) {
+		progressListener = list;
+	}
 
-    public String toString()
-    {
-        StringBuffer sb = new StringBuffer("FileTransferParams[");
-        sb.append(remoteFile).append(";").append(chunkSize).append(";");
-        sb.append(waitTime).append(";");
-        sb.append(startDate).append(";").append(includeServer).append(";");
-        sb.append(length).append(";").append(rate).append(";");
-        sb.append(progressListener).append("]");
-        return sb.toString();
-    }
+	public String toString() {
+		StringBuffer sb = new StringBuffer("FileTransferParams[");
+		sb.append(remoteFile).append(";").append(chunkSize).append(";");
+		sb.append(waitTime).append(";");
+		sb.append(startDate).append(";").append(includeServer).append(";");
+		sb.append(length).append(";").append(rate).append(";");
+		sb.append(progressListener).append("]");
+		return sb.toString();
+	}
 }
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferSharedObject.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferSharedObject.java
index bbec2c9..70d0ee7 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferSharedObject.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/FileTransferSharedObject.java
@@ -24,9 +24,9 @@
 import org.eclipse.ecf.core.sharedobject.ISharedObjectConfig;
 import org.eclipse.ecf.core.sharedobject.ReplicaSharedObjectDescription;
 import org.eclipse.ecf.core.sharedobject.SharedObjectInitException;
-import org.eclipse.ecf.example.collab.Trace;
 import org.eclipse.ecf.example.collab.share.SharedObjectMsg;
 import org.eclipse.ecf.example.collab.share.TransactionSharedObject;
+import org.eclipse.ecf.internal.example.collab.Trace;
 
 
 public class FileTransferSharedObject extends TransactionSharedObject
@@ -38,7 +38,7 @@
     public static final String recvMethodName = "handleData";
     public static final String doneMethodName = "handleDone";
     public static final String startMethodName = "startSendToAll";
-    // Both host and client
+    // Both host and container
     protected FileTransferParams transferParams;
     protected FileTransferListener progressListener;
     // Host only
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/InputStreamSharedObject.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/SharedObjectInputStream.java
similarity index 75%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/InputStreamSharedObject.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/SharedObjectInputStream.java
index 5b5e678..0ed5a46 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/InputStreamSharedObject.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/SharedObjectInputStream.java
@@ -18,40 +18,40 @@
 
 import org.eclipse.ecf.core.sharedobject.util.SimpleFIFOQueue;
 
-public class InputStreamSharedObject extends InputStream
+public class SharedObjectInputStream extends InputStream
 {
-    protected SimpleFIFOQueue myQueue = new SimpleFIFOQueue();
+    protected SimpleFIFOQueue queue = new SimpleFIFOQueue();
 
     int currentLength;
     int currentRead;
     boolean useCompression;
-    ByteArrayInputStream myBIS;
-    GZIPInputStream myGZIP;
+    ByteArrayInputStream inputStream;
+    GZIPInputStream compressor;
 
-    public InputStreamSharedObject(boolean compression)
+    public SharedObjectInputStream(boolean compression)
     {
         useCompression = compression;
     }
 
-    public InputStreamSharedObject()
+    public SharedObjectInputStream()
     {
-        this(OutputStreamSharedObject.DEFAULT_COMPRESSION);
+        this(SharedObjectOutputStream.DEFAULT_COMPRESSION);
     }
 
     protected final void resetStreams(Data d)
         throws IOException
     {
         currentRead = 0;
-        myBIS = new ByteArrayInputStream(d.getData());
+        inputStream = new ByteArrayInputStream(d.getData());
         currentLength = d.getLength();
         if (useCompression) {
-            myGZIP = new GZIPInputStream(myBIS);
+            compressor = new GZIPInputStream(inputStream);
         }
     }
     public final int read() throws IOException
     {
         if (currentRead >= currentLength) {
-            Data d = (Data)myQueue.dequeue();
+            Data d = (Data)queue.dequeue();
             if (d == null) throw new IOException("No data");
             resetStreams(d);
         }
@@ -61,13 +61,13 @@
     protected final int streamRead() throws IOException
     {
         if (useCompression) {
-            return myGZIP.read();
-        } else return myBIS.read();
+            return compressor.read();
+        } else return inputStream.read();
     }
     // Method for replicated object to add data to stream
     public void add(int length, byte [] d)
     {
-        myQueue.enqueue(new Data(length,d));
+        queue.enqueue(new Data(length,d));
     }
 
     protected static class Data {
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/OutputStreamSharedObject.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/SharedObjectOutputStream.java
similarity index 60%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/OutputStreamSharedObject.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/SharedObjectOutputStream.java
index 0fc6462..76cbffe 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/OutputStreamSharedObject.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/SharedObjectOutputStream.java
@@ -16,79 +16,78 @@
 import java.io.OutputStream;
 import java.util.zip.GZIPOutputStream;
 
-public class OutputStreamSharedObject extends OutputStream
+public class SharedObjectOutputStream extends OutputStream
 {
     public static final int DEFAULT_BUFF_SIZE = 900;
     public static final boolean DEFAULT_COMPRESSION = true;
 
-    protected StreamSender myObj;
-    protected ByteArrayOutputStream myOuts;
-    protected GZIPOutputStream myGZIP;
-    protected int myDefaultLength;
-    protected int currentCount = 0;
+    protected StreamSender sender;
+    protected ByteArrayOutputStream outputStream;
+    protected GZIPOutputStream compressor;
+    protected int defaultLength;
+    protected int bytesSentCount = 0;
     protected boolean useCompression;
 
-    public OutputStreamSharedObject(StreamSender obj, int size, boolean compression)
+    public SharedObjectOutputStream(StreamSender sender, int size, boolean compression)
         throws IOException
     {
-        myObj = obj;
-        myDefaultLength = size;
-        useCompression = compression;
+        this.sender = sender;
+        this.defaultLength = size;
+        this.useCompression = compression;
         resetStreams();
     }
-    public OutputStreamSharedObject(StreamSender obj) throws IOException
+    public SharedObjectOutputStream(StreamSender obj) throws IOException
     {
         this(obj, DEFAULT_BUFF_SIZE, DEFAULT_COMPRESSION);
     }
-    public OutputStreamSharedObject(StreamSender obj, int size) throws IOException
+    public SharedObjectOutputStream(StreamSender obj, int size) throws IOException
     {
         this(obj, size, DEFAULT_COMPRESSION);
     }
-    public OutputStreamSharedObject(StreamSender obj, boolean compression) throws IOException
+    public SharedObjectOutputStream(StreamSender obj, boolean compression) throws IOException
     {
         this(obj, DEFAULT_BUFF_SIZE, compression);
     }
     protected void resetStreams() throws IOException
     {
-        myOuts = new ByteArrayOutputStream(myDefaultLength);
-        if (useCompression) {
-            myGZIP = new GZIPOutputStream(myOuts);
-        }
+        outputStream = new ByteArrayOutputStream(defaultLength);
+        if (useCompression) compressor = new GZIPOutputStream(outputStream);
     }
     public void close() throws IOException
     {
         if (useCompression) {
-            myGZIP.close();
-        } else myOuts.close();
+            compressor.close();
+        } else outputStream.close();
     }
 
     public void flush() throws IOException
     {
         sendMsgAndResetStream();
     }
+    
     protected final void sendMsgAndResetStream() throws IOException
     {
         if (useCompression) {
-            myGZIP.flush();
-            myGZIP.finish();
-        } else myOuts.flush();
+            compressor.flush();
+            compressor.finish();
+        } else outputStream.flush();
         // Actually ask our StreamSender to send msg with count of size and data
-        myObj.sendDataMsg(currentCount, myOuts.toByteArray());
+        sender.sendDataMsg(bytesSentCount, outputStream.toByteArray());
         resetStreams();
-        currentCount = 0;
+        bytesSentCount = 0;
     }
     public void write(int a) throws IOException
     {
-        if (currentCount >= myDefaultLength) {
+        if (bytesSentCount >= defaultLength) {
             sendMsgAndResetStream();
         }
-        currentCount++;
+        bytesSentCount++;
         streamWrite(a);
     }
     protected void streamWrite(int a) throws IOException
     {
         if (useCompression) {
-            myGZIP.write(a);
-        } else myOuts.write(a);
+            compressor.write(a);
+        } else outputStream.write(a);
     }
 }
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/StreamSender.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/StreamSender.java
index 570fe05..8fa033f 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/StreamSender.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/io/StreamSender.java
@@ -15,13 +15,13 @@
 {
     /**
      * Send a message with data to remote replica(s).  This method is called by
-     * the OutputStreamSharedObject when sends some data via the replicated object.
+     * the SharedObjectOutputStream when sends some data via the replicated object.
      * The replicated object that implements this interface should send a message
      * to one or all remote replicas that contains the information contained in
      * this method signature.  Remote replicas should then turn around and call the
-     * 'add' method on their InputStreamSharedObject to receive the data.
+     * 'add' method on their SharedObjectInputStream to receive the data.
      *
-     * @param currentCount the length of the data (assuming data are compressed)
+     * @param bytesSentCount the length of the data (assuming data are compressed)
      * @param data the actual data to send
      */
     public void sendDataMsg(int currentCount, byte [] data);
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/ExecProg.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/ExecProg.java
index 1edf264..e5af07d 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/ExecProg.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/ExecProg.java
@@ -18,8 +18,8 @@
 import org.eclipse.ecf.core.sharedobject.ISharedObjectConfig;
 import org.eclipse.ecf.core.sharedobject.ReplicaSharedObjectDescription;
 import org.eclipse.ecf.core.sharedobject.SharedObjectInitException;
-import org.eclipse.ecf.example.collab.Trace;
 import org.eclipse.ecf.example.collab.share.GenericSharedObject;
+import org.eclipse.ecf.internal.example.collab.Trace;
 
 
 public class ExecProg extends GenericSharedObject
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/ExecURL.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/ExecURL.java
index 7fe2efd..da48c8b 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/ExecURL.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/ExecURL.java
@@ -19,8 +19,8 @@
 import org.eclipse.ecf.core.sharedobject.ISharedObjectConfig;
 import org.eclipse.ecf.core.sharedobject.ReplicaSharedObjectDescription;
 import org.eclipse.ecf.core.sharedobject.SharedObjectInitException;
-import org.eclipse.ecf.example.collab.Trace;
 import org.eclipse.ecf.example.collab.share.GenericSharedObject;
+import org.eclipse.ecf.internal.example.collab.Trace;
 
 
 public class ExecURL extends GenericSharedObject {
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/GetExec.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/GetExec.java
index 8c02c01..b022c32 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/GetExec.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/url/GetExec.java
@@ -13,7 +13,7 @@
 
 import java.net.URL;
 
-import org.eclipse.ecf.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
 import org.eclipse.help.browser.IBrowser;
 import org.eclipse.help.internal.browser.BrowserManager;
 import org.eclipse.jface.dialogs.MessageDialog;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientEntry.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientEntry.java
similarity index 69%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientEntry.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientEntry.java
index 90f46d7..8689e6d 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientEntry.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientEntry.java
@@ -8,49 +8,48 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab;
+package org.eclipse.ecf.internal.example.collab;
 
 import org.eclipse.ecf.core.IContainer;
-import org.eclipse.ecf.core.identity.ID;
 import org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject;
 
 public class ClientEntry {
-	IContainer client;
-	EclipseCollabSharedObject obj;
+	IContainer container;
+	EclipseCollabSharedObject sharedObject;
 	String containerType;
 	boolean isDisposed = false;
-	
+
 	public ClientEntry(String type, IContainer cont) {
 		this.containerType = type;
-		this.client = cont;
+		this.container = cont;
 	}
 
 	public IContainer getContainer() {
-		return client;
+		return container;
 	}
 
 	public String getContainerType() {
 		return containerType;
 	}
 
-	public ID getConnectedID() {
-		return client.getConnectedID();
+	public void setSharedObject(EclipseCollabSharedObject sharedObject) {
+		this.sharedObject = sharedObject;
 	}
 
-	public void setObject(EclipseCollabSharedObject obj) {
-		this.obj = obj;
+	public EclipseCollabSharedObject getSharedObject() {
+		return sharedObject;
 	}
 
-	public EclipseCollabSharedObject getObject() {
-		return obj;
-	}
 	public boolean isDisposed() {
 		return isDisposed;
 	}
+
 	public void dispose() {
 		isDisposed = true;
-		if (obj != null)
-			obj.destroySelf();
-		client.dispose();
+		if (sharedObject != null) {
+			sharedObject.destroySelf();
+			sharedObject = null;
+		}
+		container.dispose();
 	}
 }
\ No newline at end of file
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java
index 770e5ef..6c9926e 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab;
+package org.eclipse.ecf.internal.example.collab;
 
 import java.net.URL;
 import java.util.MissingResourceException;
@@ -65,7 +65,7 @@
 		plugin = this;
 		this.fontRegistry = new FontRegistry();
 	}
-	protected IDiscoveryController getDiscoveryController() {
+	public IDiscoveryController getDiscoveryController() {
 		return new IDiscoveryController() {
 			public void connectToService(IServiceInfo service) {
 				synchronized (ClientPlugin.this) {
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.properties b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.properties
similarity index 100%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.properties
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.properties
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPluginConstants.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPluginConstants.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPluginConstants.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPluginConstants.java
index db9658d..80534f6 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPluginConstants.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPluginConstants.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab;
+package org.eclipse.ecf.internal.example.collab;
 
 public interface ClientPluginConstants {
 //	public static final String PLUGIN_ID = "org.eclipse.ecf.example.collab";
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/CollabClient.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/CollabClient.java
similarity index 89%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/CollabClient.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/CollabClient.java
index 3df9b0c..a0132b8 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/CollabClient.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/CollabClient.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab;
+package org.eclipse.ecf.internal.example.collab;
 
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -27,6 +27,7 @@
 import org.eclipse.ecf.core.security.ConnectContextFactory;
 import org.eclipse.ecf.core.sharedobject.ISharedObjectContainer;
 import org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject;
+import org.eclipse.ecf.internal.example.collab.ui.SharedObjectContainerUI;
 
 public class CollabClient {
 	public static final String WORKSPACE_NAME = "<workspace>";
@@ -67,7 +68,7 @@
 
 		// Setup username
 		String username = setupUsername(targetID, nickname);
-		// Create a new client entry to hold onto container once created
+		// Create a new container entry to hold onto container once created
 		final ClientEntry newClientEntry = new ClientEntry(containerType,
 				newClient);
 
@@ -87,13 +88,13 @@
 		} catch (ContainerConnectException e) {
 			// If we have a connect exception then we remove any previously
 			// added shared object
-			EclipseCollabSharedObject so = newClientEntry.getObject();
+			EclipseCollabSharedObject so = newClientEntry.getSharedObject();
 			if (so != null)
 				so.destroySelf();
 			throw e;
 		}
 
-		// only add client if the connect was successful
+		// only add container if the connect was successful
 		addClientForResource(newClientEntry, resource);
 	}
 
@@ -114,7 +115,7 @@
 		}
 	}
 
-	protected static void removeClientForResource(IResource proj, ID targetID) {
+	public static void removeClientForResource(IResource proj, ID targetID) {
 		synchronized (clients) {
 			String resourceName = getNameForResource(proj);
 			Vector v = (Vector) clients.get(resourceName);
@@ -123,7 +124,7 @@
 			ClientEntry remove = null;
 			for (Iterator i = v.iterator(); i.hasNext();) {
 				ClientEntry e = (ClientEntry) i.next();
-				ID connectedID = e.getConnectedID();
+				ID connectedID = e.getContainer().getConnectedID();
 				if (connectedID == null || connectedID.equals(targetID)) {
 					remove = e;
 				}
@@ -144,7 +145,7 @@
 		return preName;
 	}
 
-	protected static IResource getWorkspace() throws Exception {
+	public static IResource getWorkspace() throws Exception {
 		IWorkspaceRoot ws = ResourcesPlugin.getWorkspace().getRoot();
 		return ws;
 	}
@@ -162,7 +163,7 @@
 				return null;
 			for (Iterator i = v.iterator(); i.hasNext();) {
 				ClientEntry e = (ClientEntry) i.next();
-				ID connectedID = e.getConnectedID();
+				ID connectedID = e.getContainer().getConnectedID();
 				if (connectedID == null)
 					continue;
 				else if (connectedID.equals(targetID)) {
@@ -181,7 +182,7 @@
 				return null;
 			for (Iterator i = v.iterator(); i.hasNext();) {
 				ClientEntry e = (ClientEntry) i.next();
-				ID connectedID = e.getConnectedID();
+				ID connectedID = e.getContainer().getConnectedID();
 				if (connectedID == null)
 					continue;
 				else {
@@ -202,7 +203,7 @@
 				return false;
 			for (Iterator i = v.iterator(); i.hasNext();) {
 				ClientEntry e = (ClientEntry) i.next();
-				ID connectedID = e.getConnectedID();
+				ID connectedID = e.getContainer().getConnectedID();
 				if (connectedID == null)
 					continue;
 				else if (connectedID.equals(targetID)) {
@@ -235,9 +236,9 @@
 		return collabClient;
 	}
 
-	protected synchronized void disposeClient(IResource proj, ClientEntry entry) {
+	public synchronized void disposeClient(IResource proj, ClientEntry entry) {
 		entry.dispose();
-		removeClientForResource(proj, entry.getConnectedID());
+		removeClientForResource(proj, entry.getContainer().getConnectedID());
 	}
 
 	protected String setupUsername(ID targetID, String nickname)
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/DiscoveryStartup.java
similarity index 95%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/DiscoveryStartup.java
index 8c094ac..1fe0465 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/DiscoveryStartup.java
@@ -8,13 +8,14 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab;
+package org.eclipse.ecf.internal.example.collab;
 
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.URI;
 import java.util.Properties;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.ecf.core.ContainerFactory;
 import org.eclipse.ecf.core.ContainerCreateException;
 import org.eclipse.ecf.core.IContainer;
@@ -25,7 +26,7 @@
 import org.eclipse.ecf.discovery.ServiceInfo;
 import org.eclipse.ecf.discovery.ServiceProperties;
 import org.eclipse.ecf.discovery.identity.ServiceID;
-import org.eclipse.ecf.example.collab.actions.URIClientConnectAction;
+import org.eclipse.ecf.internal.example.collab.actions.URIClientConnectAction;
 
 public class DiscoveryStartup {
 	public static final String DISCOVERY_CONTAINER = "ecf.discovery.jmdns";
@@ -95,7 +96,7 @@
 		IResource workspace = null;
 		try {
 			targetString = new URI(svcInfo.getServiceID().getName()).toString();
-			workspace = CollabClient.getWorkspace();
+			workspace = ResourcesPlugin.getWorkspace().getRoot();
 		} catch (Exception e) {
 			ClientPlugin.log("Exception connecting to service with info "
 					+ svcInfo, e);
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ServerStartup.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ServerStartup.java
index 75d9890..f26481b 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ServerStartup.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab;
+package org.eclipse.ecf.internal.example.collab;
 
 import java.io.InputStream;
 import java.net.URI;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.xml b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ServerStartup.xml
similarity index 100%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.xml
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ServerStartup.xml
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/Trace.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/Trace.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/Trace.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/Trace.java
index e5ee5ec..8418747 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/Trace.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/Trace.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab;
+package org.eclipse.ecf.internal.example.collab;
 
 import java.io.File;
 import java.io.FileOutputStream;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/JoinGroupWizardAction.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/JoinGroupWizardAction.java
similarity index 92%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/JoinGroupWizardAction.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/JoinGroupWizardAction.java
index 0c00cee..fbb2367 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/JoinGroupWizardAction.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/JoinGroupWizardAction.java
@@ -8,15 +8,15 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.actions;
+package org.eclipse.ecf.internal.example.collab.actions;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.ecf.example.collab.ClientEntry;
-import org.eclipse.ecf.example.collab.CollabClient;
 import org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject;
-import org.eclipse.ecf.example.collab.ui.JoinGroupWizard;
+import org.eclipse.ecf.internal.example.collab.ClientEntry;
+import org.eclipse.ecf.internal.example.collab.CollabClient;
+import org.eclipse.ecf.internal.example.collab.ui.JoinGroupWizard;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.viewers.ISelection;
@@ -108,7 +108,7 @@
 				connected = false;
 				action.setText(CONNECT_PROJECT_MENU_TEXT);
 			} else {
-				EclipseCollabSharedObject collab = client.getObject();
+				EclipseCollabSharedObject collab = client.getSharedObject();
 				if (collab != null) {
 					collab.chatGUIDestroy();
 				}
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/OpenSharedEditorAction.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/OpenSharedEditorAction.java
similarity index 93%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/OpenSharedEditorAction.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/OpenSharedEditorAction.java
index 336a620..0d5a660 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/OpenSharedEditorAction.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/OpenSharedEditorAction.java
@@ -8,14 +8,14 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.actions;
+package org.eclipse.ecf.internal.example.collab.actions;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
-import org.eclipse.ecf.example.collab.ClientEntry;
-import org.eclipse.ecf.example.collab.CollabClient;
 import org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject;
+import org.eclipse.ecf.internal.example.collab.ClientEntry;
+import org.eclipse.ecf.internal.example.collab.CollabClient;
 import org.eclipse.jdt.core.IJavaElement;
 import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jface.action.IAction;
@@ -109,7 +109,7 @@
 									+ "' not connected to any collaboration group.  To connect, open context menu for resource and choose ECF->Join ECF Collaboration...");
 			return;
 		}
-		EclipseCollabSharedObject collabsharedobject = entry.getObject();
+		EclipseCollabSharedObject collabsharedobject = entry.getSharedObject();
 		if (collabsharedobject != null) {
 			collabsharedobject.sendLaunchEditorForFile(null, file
 					.getProjectRelativePath().toString());
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/SetSharedEditorSelectionAction.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/SetSharedEditorSelectionAction.java
similarity index 93%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/SetSharedEditorSelectionAction.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/SetSharedEditorSelectionAction.java
index 6c1c6fb..e8341a4 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/SetSharedEditorSelectionAction.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/SetSharedEditorSelectionAction.java
@@ -8,14 +8,14 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.actions;
+package org.eclipse.ecf.internal.example.collab.actions;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
-import org.eclipse.ecf.example.collab.ClientEntry;
-import org.eclipse.ecf.example.collab.CollabClient;
 import org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject;
+import org.eclipse.ecf.internal.example.collab.ClientEntry;
+import org.eclipse.ecf.internal.example.collab.CollabClient;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.text.ITextSelection;
@@ -99,7 +99,7 @@
 									+ "' not connected to any collaboration group.  To connect, open context menu for resource and choose ECF->Join ECF Collaboration...");
 			return;
 		}
-		EclipseCollabSharedObject collabsharedobject = entry.getObject();
+		EclipseCollabSharedObject collabsharedobject = entry.getSharedObject();
 		if (collabsharedobject != null) {
 			collabsharedobject.sendOpenAndSelectForFile(null, file
 					.getProjectRelativePath().toString(), textSelection
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/URIClientConnectAction.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/URIClientConnectAction.java
similarity index 93%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/URIClientConnectAction.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/URIClientConnectAction.java
index 53adef4..682a831 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/actions/URIClientConnectAction.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/actions/URIClientConnectAction.java
@@ -9,7 +9,7 @@
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.actions;
+package org.eclipse.ecf.internal.example.collab.actions;
 
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -18,9 +18,9 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.ecf.core.ContainerConnectException;
-import org.eclipse.ecf.example.collab.CollabClient;
-import org.eclipse.ecf.example.collab.start.AccountStart;
-import org.eclipse.ecf.example.collab.start.ConnectionDetails;
+import org.eclipse.ecf.internal.example.collab.CollabClient;
+import org.eclipse.ecf.internal.example.collab.start.AccountStart;
+import org.eclipse.ecf.internal.example.collab.start.ConnectionDetails;
 import org.eclipse.ecf.ui.dialogs.ContainerConnectErrorDialog;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.viewers.ISelection;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/AccountStart.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/AccountStart.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/AccountStart.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/AccountStart.java
index ac6fa13..e4d8482 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/AccountStart.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/AccountStart.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.start;
+package org.eclipse.ecf.internal.example.collab.start;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -17,7 +17,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.ecf.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
 import org.osgi.service.prefs.BackingStoreException;
 import org.osgi.service.prefs.Preferences;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/AutoLoginPreferencePage.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/AutoLoginPreferencePage.java
similarity index 91%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/AutoLoginPreferencePage.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/AutoLoginPreferencePage.java
index 8527646..7778162 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/AutoLoginPreferencePage.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/AutoLoginPreferencePage.java
@@ -8,10 +8,11 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.start;
+package org.eclipse.ecf.internal.example.collab.start;
 
 import java.util.Collection;
-import org.eclipse.ecf.example.collab.ClientPlugin;
+
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
 import org.eclipse.jface.preference.FieldEditorPreferencePage;
 import org.eclipse.jface.viewers.ListViewer;
 import org.eclipse.swt.widgets.Button;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/CollabStart.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/CollabStart.java
similarity index 91%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/CollabStart.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/CollabStart.java
index 0e4a8c2..16ebebf 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/CollabStart.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/CollabStart.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.start;
+package org.eclipse.ecf.internal.example.collab.start;
 
 import java.util.Collection;
 import java.util.Iterator;
@@ -17,8 +17,8 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.ecf.core.start.IECFStart;
-import org.eclipse.ecf.example.collab.ClientPlugin;
-import org.eclipse.ecf.example.collab.CollabClient;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.CollabClient;
 
 public class CollabStart implements IECFStart {
 	Discovery discovery = null;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/ConnectionDetails.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/ConnectionDetails.java
similarity index 96%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/ConnectionDetails.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/ConnectionDetails.java
index 94ca692..0492f9c 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/ConnectionDetails.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/ConnectionDetails.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.start;
+package org.eclipse.ecf.internal.example.collab.start;
 
 public class ConnectionDetails {
 	
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/Discovery.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/Discovery.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/Discovery.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/Discovery.java
index 008602c..10e0742 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/Discovery.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/Discovery.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.start;
+package org.eclipse.ecf.internal.example.collab.start;
 
 import org.eclipse.ecf.core.ContainerFactory;
 import org.eclipse.ecf.core.IContainer;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/URLListFieldEditor.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/URLListFieldEditor.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/URLListFieldEditor.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/URLListFieldEditor.java
index b211cc0..89bc09d 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/start/URLListFieldEditor.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/start/URLListFieldEditor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.start;
+package org.eclipse.ecf.internal.example.collab.start;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatComposite.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatComposite.java
similarity index 95%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatComposite.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatComposite.java
index 8ce756e..74ac093 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatComposite.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatComposite.java
@@ -9,7 +9,7 @@
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.io.File;
 import java.io.IOException;
@@ -27,9 +27,9 @@
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.ecf.core.identity.ID;
 import org.eclipse.ecf.core.identity.IDFactory;
-import org.eclipse.ecf.example.collab.ClientPlugin;
 import org.eclipse.ecf.example.collab.share.User;
 import org.eclipse.ecf.example.collab.share.io.FileTransferParams;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IMenuListener;
 import org.eclipse.jface.action.IMenuManager;
@@ -116,10 +116,8 @@
 	Action outputCopy = null;
 	Action outputPaste = null;
 	Action outputSelectAll = null;
-	Action removeEclipseComponent = null;
 	Action sendComponent = null;
 	Action sendComponentToServer = null;
-	Action sendEclipseComponent = null;
 	Action sendFileToGroup = null;
 	Action sendFileToGroupAndLaunch = null;
 	Action sendMessage = null;
@@ -360,7 +358,6 @@
 
 	protected void enableProxyMessage(boolean val) {
 		messageEclipseComponent.setEnabled(val);
-		removeEclipseComponent.setEnabled(val);
 	}
 
 	private void fillContextMenu(IMenuManager manager) {
@@ -981,30 +978,6 @@
 				.getString("LineChatClientView.contextmenu.repobjectserver"));
 		sendComponentToServer.setEnabled(false);
 
-		sendEclipseComponent = new Action() {
-			public void run() {
-				sendEclipseComponent(null);
-			}
-		};
-		sendEclipseComponent.setText(MessageLoader
-				.getString("LineChatClientView.contextmenu.send"));
-
-		messageEclipseComponent = new Action() {
-			public void run() {
-				messageEclipseComponent(null);
-			}
-		};
-		messageEclipseComponent.setText(MessageLoader
-				.getString("LineChatClientView.contextmenu.message"));
-		messageEclipseComponent.setEnabled(false);
-		removeEclipseComponent = new Action() {
-			public void run() {
-				removeEclipseComponent(null);
-			}
-		};
-		removeEclipseComponent.setText(MessageLoader
-				.getString("LineChatClientView.contextmenu.remove"));
-		removeEclipseComponent.setEnabled(false);
 		// Close projectGroup
 		closeGroup = new Action() {
 			public void run() {
@@ -1341,7 +1314,7 @@
 			ID eclipseStageID = IDFactory
 					.getDefault()
 					.createStringID(
-							org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject.ECLIPSEOBJECTNAME);
+							org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject.ID);
 			java.io.BufferedInputStream ins = new java.io.BufferedInputStream(
 					local);
 			java.io.File remoteFile = new File((new File(fileName)).getName());
@@ -1388,24 +1361,6 @@
 
 	}
 
-	protected void removeEclipseComponent(User user) {
-		String initStr = LineChatClientView.DEFAULT_ECLIPSE_COMPONENT_CLASS;
-
-		String res = null;
-		ID userID = null;
-		if (user != null) {
-			res = getID("Remove EclipseProjectComponent for "
-					+ user.getNickname(), "EclipseProjectComponent Class:",
-					initStr);
-			userID = user.getUserID();
-		} else {
-			res = getID("Remove EclipseProjectComponent",
-					"EclipseProjectComponent Class:", initStr);
-		}
-		if (res != null)
-			this.view.removeProxyObject(userID, res);
-	}
-
 	protected void sendAppShare(ID receiver) {
 		if (this.view.lch == null)
 			return;
@@ -1455,24 +1410,6 @@
 		}
 	}
 
-	protected void sendEclipseComponent(User user) {
-		String initStr = LineChatClientView.DEFAULT_ECLIPSE_COMPONENT_CLASS;
-
-		String res = null;
-		ID userID = null;
-		if (user != null) {
-			res = getID(
-					"Send EclipseProjectComponent to " + user.getNickname(),
-					"EclipseProjectComponent Class:", initStr);
-			userID = user.getUserID();
-		} else {
-			res = getID("Send EclipseProjectComponent",
-					"EclipseProjectComponent Class:", initStr);
-		}
-		if (res != null)
-			this.view.createProxyObject(userID, res);
-	}
-
 	protected void sendFile(String pathName, final String fileName,
 			Date startDate, ID target, boolean launch) {
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatDropTarget.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatDropTarget.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatDropTarget.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatDropTarget.java
index 3dd7715..d29ccca 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatDropTarget.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatDropTarget.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.io.File;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatLayout.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatLayout.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatLayout.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatLayout.java
index 393f23c..28cb52b 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatLayout.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatLayout.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Point;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatLine.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatLine.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatLine.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatLine.java
index 0c8b96b..45d3327 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatLine.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatLine.java
@@ -12,7 +12,7 @@
  * Created on Feb 18, 2005
  *
  */
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.ecf.example.collab.share.User;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatTreeViewer.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatTreeViewer.java
similarity index 96%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatTreeViewer.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatTreeViewer.java
index 74d1ff9..d37c73c 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatTreeViewer.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatTreeViewer.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.util.Iterator;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatWindow.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatWindow.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java
index 64bdd43..ad947ca 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatWindow.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java
@@ -9,11 +9,11 @@
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.ecf.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.window.ApplicationWindow;
 import org.eclipse.swt.SWT;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ClientPreferencePage.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ClientPreferencePage.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ClientPreferencePage.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ClientPreferencePage.java
index 69ae6a0..35ae24c 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ClientPreferencePage.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ClientPreferencePage.java
@@ -9,9 +9,9 @@
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
-import org.eclipse.ecf.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.ColorFieldEditor;
 import org.eclipse.jface.preference.FieldEditorPreferencePage;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/CollabDiscoveryView.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/CollabDiscoveryView.java
similarity index 95%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/CollabDiscoveryView.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/CollabDiscoveryView.java
index 8faa1b7..0f783d4 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/CollabDiscoveryView.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/CollabDiscoveryView.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.ecf.discovery.IDiscoveryContainerAdapter;
 import org.eclipse.ecf.discovery.IServiceEvent;
@@ -17,6 +17,7 @@
 import org.eclipse.ecf.discovery.identity.IServiceID;
 import org.eclipse.ecf.discovery.ui.views.DiscoveryView;
 import org.eclipse.ecf.discovery.ui.views.IDiscoveryController;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
 
 public class CollabDiscoveryView extends DiscoveryView {
 	
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ConnectionDialog.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ConnectionDialog.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ConnectionDialog.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ConnectionDialog.java
index 0f5ebc5..3688bb0 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ConnectionDialog.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ConnectionDialog.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -18,8 +18,8 @@
 
 import org.eclipse.ecf.core.ContainerFactory;
 import org.eclipse.ecf.core.ContainerTypeDescription;
-import org.eclipse.ecf.example.collab.ClientPlugin;
-import org.eclipse.ecf.example.collab.ClientPluginConstants;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ClientPluginConstants;
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.jface.dialogs.TitleAreaDialog;
 import org.eclipse.jface.viewers.ILabelProviderListener;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EditorHelper.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/EditorHelper.java
similarity index 89%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EditorHelper.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/EditorHelper.java
index 9d057da..5ec424d 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/share/EditorHelper.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/EditorHelper.java
@@ -8,11 +8,12 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.share;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject;
 import org.eclipse.ui.IEditorDescriptor;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
@@ -35,7 +36,7 @@
 	protected IWorkbenchWindow getWorkbenchWindow() {
 		return window;
 	}
-	protected IEditorPart openEditorForFile(IFile file) throws PartInitException {
+	public IEditorPart openEditorForFile(IFile file) throws PartInitException {
 		IWorkbenchPage page = getWorkbenchWindow().getActivePage();
 		IEditorInput input = new FileEditorInput(file);
 		// try to find an open editor with this input
@@ -57,7 +58,7 @@
 			return (ITextEditor) editor;
 		} else return null;
 	}
-	protected void openAndSelectForFile(IFile file, int offset, int length) throws PartInitException {
+	public void openAndSelectForFile(IFile file, int offset, int length) throws PartInitException {
 		ITextEditor textEditor = openTextEditorForFile(file);
 		if (textEditor == null) return;
 		setTextEditorSelection(textEditor,offset,length);
@@ -76,7 +77,7 @@
 		m.setAttribute(IMarker.CHAR_END,end);
 		return m;
 	}
-	protected void openAndAddMarkerForFile(IFile file, EclipseCollabSharedObject.SharedMarker marker) throws PartInitException, CoreException {
+	public void openAndAddMarkerForFile(IFile file, EclipseCollabSharedObject.SharedMarker marker) throws PartInitException, CoreException {
 		IWorkbenchPage page = getWorkbenchWindow().getActivePage();
 		IEditorInput input = new FileEditorInput(file);
 		// try to find an open editor with this input
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/FileReceiverUI.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/FileReceiverUI.java
similarity index 93%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/FileReceiverUI.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/FileReceiverUI.java
index 4fd28c5..4d3b7ed 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/FileReceiverUI.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/FileReceiverUI.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.io.File;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/FileSenderUI.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/FileSenderUI.java
similarity index 93%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/FileSenderUI.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/FileSenderUI.java
index a792fb1..4603d1c 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/FileSenderUI.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/FileSenderUI.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.io.File;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ImageWrapper.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ImageWrapper.java
similarity index 96%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ImageWrapper.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ImageWrapper.java
index 38cb606..9d6d0ad 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ImageWrapper.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ImageWrapper.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Remy Suen <remy.suen@gmail.com> - initial API and implementation
  ******************************************************************************/
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.io.Serializable;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/JoinGroupWizard.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizard.java
similarity index 93%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/JoinGroupWizard.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizard.java
index 8e42b8b..f5dbd09 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/JoinGroupWizard.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizard.java
@@ -8,7 +8,7 @@
 * Contributors:
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
@@ -17,8 +17,8 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.ecf.example.collab.ClientPlugin;
-import org.eclipse.ecf.example.collab.actions.URIClientConnectAction;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.actions.URIClientConnectAction;
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.jface.wizard.Wizard;
 import org.eclipse.ui.IWorkbench;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/JoinGroupWizardPage.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizardPage.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/JoinGroupWizardPage.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizardPage.java
index 15e2c0e..0c4a50b 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/JoinGroupWizardPage.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizardPage.java
@@ -8,7 +8,7 @@
 * Contributors:
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -86,7 +86,7 @@
             final ContainerTypeDescription desc = (ContainerTypeDescription) i.next();
             String name = desc.getName();
             String description = desc.getDescription();
-            // Only add default client to combo
+            // Only add default container to combo
             if (DEFAULT_CLIENT.equals(name)) {
                 def = index;
                 combo.add(description+" - "+name,index);
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LabelFieldEditor.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LabelFieldEditor.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LabelFieldEditor.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LabelFieldEditor.java
index f8b09bf..45401de 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LabelFieldEditor.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LabelFieldEditor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 import org.eclipse.jface.preference.FieldEditor;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LineChatClientView.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatClientView.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LineChatClientView.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatClientView.java
index b434f80..59f635f 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LineChatClientView.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatClientView.java
@@ -9,7 +9,7 @@
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.io.File;
 import java.text.SimpleDateFormat;
@@ -21,12 +21,12 @@
 import java.util.Vector;
 
 import org.eclipse.ecf.core.identity.ID;
-import org.eclipse.ecf.example.collab.ClientPlugin;
 import org.eclipse.ecf.example.collab.share.EclipseMessage;
 import org.eclipse.ecf.example.collab.share.TreeItem;
 import org.eclipse.ecf.example.collab.share.User;
 import org.eclipse.ecf.example.collab.share.url.ExecProg;
 import org.eclipse.ecf.example.collab.share.url.ExecURL;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.jface.util.PropertyChangeEvent;
@@ -37,8 +37,6 @@
 
 public class LineChatClientView implements FileSenderUI {
 	public static final String CLIENT_PREFIX = " says";
-	protected static final String DEFAULT_ECLIPSE_COMPONENT_CLASS = org.eclipse.ecf.example.collab.share.TestEclipseSessionComponent.class
-			.getName();
 	public static final String DEFAULT_UNIX_BROWSER = "mozilla";
 	public static final String ENTER_STRING = "ARRIVED";
 	public static final String EXECPROGARGTYPES[] = { ID.class.getName(),
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LineChatHandler.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatHandler.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LineChatHandler.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatHandler.java
index 2dd5712..f6890e4 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LineChatHandler.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatHandler.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.util.Map;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LineChatView.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatView.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LineChatView.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatView.java
index df09b8a..74c75ff 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/LineChatView.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatView.java
@@ -9,7 +9,7 @@
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.util.Enumeration;
 import java.util.Hashtable;
@@ -29,7 +29,7 @@
 
 public class LineChatView extends ViewPart {
 
-	public static final String VIEW_ID = "org.eclipse.ecf.example.collab.ui.LineChatView"; //$NON-NLS-1$
+	public static final String VIEW_ID = "org.eclipse.ecf.internal.example.collab.ui.LineChatView"; //$NON-NLS-1$
 	// The single view
 	private static final String COLLABORATION_PROJECTS_ARE_NOT_AVAILABLE_ = "No resource collaboration sessions joined.\n\nTo join a resource collaboration, select a resource in either the Navigator or Package Explorer view,\nright-click to open context menu for resource, choose ECF menu, and choose 'Connect Project...'.";
 	static protected LineChatView singleton = null;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/MessageLoader.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/MessageLoader.java
similarity index 96%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/MessageLoader.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/MessageLoader.java
index c1dbad4..1812218 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/MessageLoader.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/MessageLoader.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.text.MessageFormat;
 import java.util.MissingResourceException;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/MessageLoader.properties b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/MessageLoader.properties
similarity index 100%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/MessageLoader.properties
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/MessageLoader.properties
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/SharedEditor.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/SharedEditor.java
similarity index 95%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/SharedEditor.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/SharedEditor.java
index fe84d30..dd0a1e6 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/SharedEditor.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/SharedEditor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/SharedObjectContainerUI.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/SharedObjectContainerUI.java
similarity index 92%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/SharedObjectContainerUI.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/SharedObjectContainerUI.java
index 84f38db..25fe76f 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/SharedObjectContainerUI.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/SharedObjectContainerUI.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -27,6 +27,8 @@
 import org.eclipse.ecf.example.collab.share.SharedObjectEventListener;
 import org.eclipse.ecf.example.collab.share.TreeItem;
 import org.eclipse.ecf.example.collab.share.User;
+import org.eclipse.ecf.internal.example.collab.ClientEntry;
+import org.eclipse.ecf.internal.example.collab.CollabClient;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PlatformUI;
 
@@ -104,7 +106,7 @@
 				if (evt instanceof IContainerDisconnectedEvent) {
 					IContainerDisconnectedEvent cd = (IContainerDisconnectedEvent) evt;
 					final ID departedContainerID = cd.getTargetID();
-					ID connectedID = newClientEntry.getConnectedID();
+					ID connectedID = newClientEntry.getContainer().getConnectedID();
 					if (connectedID == null
 							|| connectedID.equals(departedContainerID)) {
 						// This container is done
@@ -115,7 +117,7 @@
 				} else if (evt instanceof IContainerEjectedEvent) {
 					IContainerEjectedEvent ce = (IContainerEjectedEvent) evt;
 					final ID departedContainerID = ce.getTargetID();
-					ID connectedID = newClientEntry.getConnectedID();
+					ID connectedID = newClientEntry.getContainer().getConnectedID();
 					if (connectedID == null || connectedID.equals(departedContainerID)) {
 						if (!newClientEntry.isDisposed()) {
 							collabclient.disposeClient(resource, newClientEntry);
@@ -134,7 +136,7 @@
 				proj, ww, user, fileDir);
 		sharedObject.setListener(new SharedObjectEventListener() {
 			public void memberRemoved(ID member) {
-				ID groupID = client.getConnectedID();
+				ID groupID = client.getContainer().getConnectedID();
 				if (member.equals(groupID)) {
 					if (!client.isDisposed()) {
 						collabclient.disposeClient(proj, client);
@@ -152,13 +154,13 @@
 			}
 
 			public void windowClosing() {
-				ID groupID = client.getConnectedID();
+				ID groupID = client.getContainer().getConnectedID();
 				CollabClient.removeClientForResource(proj, groupID);
 			}
 		});
 		ID newID = IDFactory.getDefault().createStringID(COLLAB_SHARED_OBJECT_ID);
 		soContainer.getSharedObjectManager().addSharedObject(newID,
 				sharedObject, new HashMap());
-			client.setObject(sharedObject);
+			client.setSharedObject(sharedObject);
 	}
 }
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/SpacerFieldEditor.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/SpacerFieldEditor.java
similarity index 93%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/SpacerFieldEditor.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/SpacerFieldEditor.java
index 073654c..d5ddf6f 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/SpacerFieldEditor.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/SpacerFieldEditor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.swt.widgets.Composite;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TeamChat.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TeamChat.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TeamChat.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TeamChat.java
index 36fc4ce..e9eeb55 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TeamChat.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TeamChat.java
@@ -9,10 +9,10 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.ecf.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
 import org.eclipse.swt.layout.FillLayout;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeCategory.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeCategory.java
similarity index 92%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeCategory.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeCategory.java
index 2406c6a..b13c5f2 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeCategory.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeCategory.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 class TreeCategory extends TreeParent {
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeDropTarget.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeDropTarget.java
similarity index 98%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeDropTarget.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeDropTarget.java
index 7b019fc..538641d 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeDropTarget.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeDropTarget.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.ecf.example.collab.share.User;
 import org.eclipse.swt.dnd.DND;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeObject.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeObject.java
similarity index 95%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeObject.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeObject.java
index 558871b..f2a43cb 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeObject.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeObject.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.core.runtime.IAdaptable;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeParent.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeParent.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeParent.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeParent.java
index 8a7f0ed..1756f7b 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeParent.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeParent.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeUser.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeUser.java
similarity index 93%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeUser.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeUser.java
index 59f4f8f..51a859a 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/TreeUser.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TreeUser.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.ecf.example.collab.share.User;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ViewContentProvider.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ViewContentProvider.java
similarity index 97%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ViewContentProvider.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ViewContentProvider.java
index 0cf715b..af20250 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ViewContentProvider.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ViewContentProvider.java
@@ -9,7 +9,7 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ViewLabelProvider.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ViewLabelProvider.java
similarity index 81%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ViewLabelProvider.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ViewLabelProvider.java
index 3c90407..1704ce5 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ViewLabelProvider.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ViewLabelProvider.java
@@ -9,10 +9,10 @@
 *    Composent, Inc. - initial API and implementation
 *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui;
+package org.eclipse.ecf.internal.example.collab.ui;
 
-import org.eclipse.ecf.example.collab.ClientPlugin;
-import org.eclipse.ecf.example.collab.ClientPluginConstants;
+import org.eclipse.ecf.internal.example.collab.ClientPlugin;
+import org.eclipse.ecf.internal.example.collab.ClientPluginConstants;
 import org.eclipse.jface.resource.ImageRegistry;
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.swt.graphics.Image;
@@ -20,7 +20,7 @@
 
 class ViewLabelProvider extends LabelProvider {
 	public Image getImage(Object obj) {
-		Image image = null;		//By default, no image exists for obj, but if found to be a specific instance, load from plugin repository.
+		Image image = null;		//By default, no image exists for sharedObject, but if found to be a specific instance, load from plugin repository.
 		ImageRegistry registry = ClientPlugin.getDefault().getImageRegistry();
 		
 		if (obj instanceof TreeUser) {
@@ -40,7 +40,7 @@
 		
 		return image;
 		/*
-		 * String imageKey = ISharedImages.IMG_OBJ_ELEMENT; if (obj
+		 * String imageKey = ISharedImages.IMG_OBJ_ELEMENT; if (sharedObject
 		 * instanceof RosterParent) imageKey = ISharedImages.IMG_OBJ_PROJECT;
 		 * return
 		 * PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/hyperlink/ECFGenericHyperlink.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/hyperlink/ECFGenericHyperlink.java
similarity index 91%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/hyperlink/ECFGenericHyperlink.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/hyperlink/ECFGenericHyperlink.java
index 2a68813..10953ad 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/hyperlink/ECFGenericHyperlink.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/hyperlink/ECFGenericHyperlink.java
@@ -9,13 +9,13 @@
  *    Composent, Inc. - initial API and implementation
  *****************************************************************************/
 
-package org.eclipse.ecf.example.collab.ui.hyperlink;
+package org.eclipse.ecf.internal.example.collab.ui.hyperlink;
 
 import java.net.URI;
 
 import org.eclipse.ecf.core.ContainerCreateException;
 import org.eclipse.ecf.core.IContainer;
-import org.eclipse.ecf.example.collab.actions.JoinGroupWizardAction;
+import org.eclipse.ecf.internal.example.collab.actions.JoinGroupWizardAction;
 import org.eclipse.ecf.ui.IConnectWizard;
 import org.eclipse.ecf.ui.hyperlink.AbstractURLHyperlink;
 import org.eclipse.jface.text.IRegion;
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/hyperlink/ECFGenericHyperlinkDetector.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/hyperlink/ECFGenericHyperlinkDetector.java
similarity index 92%
rename from examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/hyperlink/ECFGenericHyperlinkDetector.java
rename to examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/hyperlink/ECFGenericHyperlinkDetector.java
index 1820715..dfbb0ce 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/hyperlink/ECFGenericHyperlinkDetector.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/hyperlink/ECFGenericHyperlinkDetector.java
@@ -1,4 +1,4 @@
-package org.eclipse.ecf.example.collab.ui.hyperlink;
+package org.eclipse.ecf.internal.example.collab.ui.hyperlink;
 
 import java.net.URI;
 
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/perspective/CommunicationPerspective.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/perspective/CommunicationPerspective.java
index 38306ad..3c3a54e 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/perspective/CommunicationPerspective.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/perspective/CommunicationPerspective.java
@@ -10,8 +10,8 @@
  ******************************************************************************/
 package org.eclipse.ecf.internal.example.collab.ui.perspective;
 
-import org.eclipse.ecf.example.collab.CollabDiscoveryView;
-import org.eclipse.ecf.example.collab.ui.LineChatView;
+import org.eclipse.ecf.internal.example.collab.ui.CollabDiscoveryView;
+import org.eclipse.ecf.internal.example.collab.ui.LineChatView;
 import org.eclipse.ecf.presence.ui.MessagesView;
 import org.eclipse.ecf.presence.ui.MultiRosterView;
 import org.eclipse.ecf.presence.ui.chatroom.ChatRoomManagerView;
@@ -40,7 +40,7 @@
 		layout.addShowViewShortcut(IPageLayout.ID_PROGRESS_VIEW);
 		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
 
-		layout.addActionSet("org.eclipse.ecf.example.collab.ui.actionSet"); //$NON-NLS-1$
+		layout.addActionSet("org.eclipse.ecf.internal.example.collab.ui.actionSet"); //$NON-NLS-1$
 	}
 
 	private void defineLayout(IPageLayout layout) {