commit e5488fb6f23b85fc2dbca841dd11e365165bf338
Author: l.suhrbier <l.suhrbier@localhost>
Date:   Thu Aug 4 16:31:05 2011 +0000

    Single Sourced CdmFormFactory markFinished Problem

diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/AbstractGraphKeyEditor.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/AbstractGraphKeyEditor.java
index cb9629bfd..2bb63744a 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/AbstractGraphKeyEditor.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/AbstractGraphKeyEditor.java
@@ -38,7 +38,7 @@ import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 
 /**
  * @author n.hoffmann
@@ -49,7 +49,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 		IZoomableWorkbenchPart, IPostOperationEnabled,
 		IDirtyMarkableSelectionProvider {
 
-	private CdmFormFactory formFactory;
+	private CdmFormFactoryFacade formFactory;
 	private Composite container;
 	protected GraphViewer viewer;
 
@@ -93,7 +93,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 			throws PartInitException {
 		setSite(site);
 		setInput(input);
-		formFactory = new CdmFormFactory(site.getShell().getDisplay());
+		formFactory = CdmFormFactoryFacade.getInstance(site.getShell().getDisplay());
 	}
 
 	/*
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListItem.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListItem.java
index 4487c3242..48482fd78 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListItem.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListItem.java
@@ -27,9 +27,9 @@ import eu.etaxonomy.cdm.model.description.KeyStatement;
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 
 /**
  * @author n.hoffmann
@@ -48,7 +48,7 @@ public class PolytomousKeyListItem extends AbstractCdmFormElement implements
 	 * @param formFactory
 	 * @param layoutComposite
 	 */
-	protected PolytomousKeyListItem(CdmFormFactory formFactory,
+	protected PolytomousKeyListItem(CdmFormFactoryFacade formFactory,
 			Composite layoutComposite, PolytomousKeyNode entity) {
 		super(formFactory, layoutComposite);
 
@@ -65,7 +65,7 @@ public class PolytomousKeyListItem extends AbstractCdmFormElement implements
 
 		Label label_statement = new Label(getLayoutComposite(), SWT.NULL);
 		label_statement.setText(getItemStatement());
-		label_statement.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		label_statement.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 
 		Link link = new Link(getLayoutComposite(), SWT.NONE);
 		link.setText("<a>" + getItemLink() + "</a>");
diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/PolytomousKeyViewPart.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/PolytomousKeyViewPart.java
index d1f02b080..bb9db49d5 100644
--- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/PolytomousKeyViewPart.java
+++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/PolytomousKeyViewPart.java
@@ -42,8 +42,8 @@ import eu.etaxonomy.taxeditor.model.IContextListener;
 import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 
 /**
  * @author n.hoffmann
@@ -105,13 +105,13 @@ public class PolytomousKeyViewPart extends ViewPart implements
 	private ListViewer viewer;
 	private ConversationHolder conversation;
 	private IContextListener contextListener;
-	private final CdmFormFactory formFactory;
+	private final CdmFormFactoryFacade formFactory;
 	private Text text_filter;
 
 	private PolytomousKeyViewPartDataChangeBehavior dataChangeBehavior;
 
 	public PolytomousKeyViewPart(){
-		formFactory = new CdmFormFactory(DisplayProxy.getDefault());
+		formFactory = CdmFormFactoryFacade.getInstance(DisplayProxy.getDefault());
 	}
 	
 	/* (non-Javadoc)
diff --git a/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java b/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java
index c7c98c7ac..42a01f90f 100644
--- a/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java
+++ b/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java
@@ -12,13 +12,9 @@ package eu.etaxonomy.taxeditor.singlesource.ui.forms;
 
 import javax.naming.OperationNotSupportedException;
 
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.common.LanguageString;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -36,19 +32,19 @@ public class LanguageStringWithLabelElementFacadeImpl extends LanguageStringWith
 	/**
 	 * <p>Constructor for LanguageStringWithLabelElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
 	 * @param style a int.
 	 */
-	protected LanguageStringWithLabelElementFacadeImpl(CdmFormFactory formFactory,
+	protected LanguageStringWithLabelElementFacadeImpl(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, int style) {
 		this(formFactory, parentElement, labelString, languageString, null, style);
 	}
 
-	protected Object getInstanceInternal (CdmFormFactory formFactory,
+	protected Object getInstanceInternal (CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, int style) {
 		return new LanguageStringWithLabelElementFacadeImpl(formFactory, parentElement, labelString, languageString, style);
@@ -57,14 +53,14 @@ public class LanguageStringWithLabelElementFacadeImpl extends LanguageStringWith
 	/**
 	 * <p>Constructor for LanguageStringWithLabelElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
 	 * @param height a int.
 	 * @param style a int.
 	 */
-	protected LanguageStringWithLabelElementFacadeImpl(CdmFormFactory formFactory,
+	protected LanguageStringWithLabelElementFacadeImpl(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, Integer height, int style) {
 		super(formFactory, parentElement, labelString, null, height, style);
@@ -72,13 +68,13 @@ public class LanguageStringWithLabelElementFacadeImpl extends LanguageStringWith
 		setLanguageString(languageString);
 	}
 	
-	protected Object getInstanceInternal (CdmFormFactory formFactory,
+	protected Object getInstanceInternal (CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, Integer height, int style) {
 			return new LanguageStringWithLabelElementFacadeImpl(formFactory, parentElement, labelString, languageString, height, style);
 	}
 	
-	protected Object getInstanceInternal(CdmFormFactory formFactory,ICdmFormElement parentElement, String labelString,
+	protected Object getInstanceInternal(CdmFormFactoryFacade formFactory,ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style)
 	{
 		return null;
diff --git a/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java b/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java
index 1011f61b4..67ccd062b 100644
--- a/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java
+++ b/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java
@@ -12,12 +12,8 @@ package eu.etaxonomy.taxeditor.singlesource.ui.forms;
 
 import javax.naming.OperationNotSupportedException;
 
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 
@@ -42,13 +38,13 @@ public class NumberWithLabelElementFacadeImpl extends NumberWithLabelElementFaca
 	 * @param initialInteger a {@link java.lang.Integer} object.
 	 * @param style a int.
 	 */
-	public NumberWithLabelElementFacadeImpl(CdmFormFactory toolkit,
+	public NumberWithLabelElementFacadeImpl(CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Integer initialInteger, int style) {
 		super(toolkit, parentElement, labelString, initialInteger, style);
 	}
 
-	protected Object getInstanceInternal (CdmFormFactory toolkit,
+	protected Object getInstanceInternal (CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Integer initialInteger, int style) {
 		return new NumberWithLabelElementFacadeImpl(toolkit, parentElement, labelString, initialInteger, style);
@@ -57,25 +53,25 @@ public class NumberWithLabelElementFacadeImpl extends NumberWithLabelElementFaca
 	/**
 	 * <p>Constructor for NumberWithLabelElement.</p>
 	 *
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param initialFloat a {@link java.lang.Float} object.
 	 * @param style a int.
 	 */
-	public NumberWithLabelElementFacadeImpl(CdmFormFactory toolkit,
+	public NumberWithLabelElementFacadeImpl(CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Float initialFloat, int style) {
 		super(toolkit, parentElement, labelString, initialFloat, style);
 	}
 
-	protected Object getInstanceInternal (CdmFormFactory toolkit,
+	protected Object getInstanceInternal (CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Float initialFloat, int style) {
 		return new NumberWithLabelElementFacadeImpl(toolkit, parentElement, labelString, initialFloat, style);
 	}
 
-	protected Object getInstanceInternal(CdmFormFactory formFactory,ICdmFormElement parentElement, String labelString,
+	protected Object getInstanceInternal(CdmFormFactoryFacade formFactory,ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style)
 	{
 		return null;
diff --git a/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java b/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java
index 6b635a0fb..71d774824 100644
--- a/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java
+++ b/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java
@@ -13,7 +13,6 @@ import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -31,13 +30,13 @@ public class TextWithLabelElementFacadeImpl extends TextWithLabelElementFacade {
 		super();
 	}
 
-	protected TextWithLabelElementFacadeImpl(CdmFormFactory formFactory,
+	protected TextWithLabelElementFacadeImpl(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style) {
 		super(formFactory, parentElement, labelString, initialText, textHeight, style);
 	}	
 
-	protected Object getInstanceInternal (CdmFormFactory formFactory,
+	protected Object getInstanceInternal (CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style) {
 		
diff --git a/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacadeImpl.java b/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacadeImpl.java
index 98db8cfff..4931ea0ac 100644
--- a/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacadeImpl.java
+++ b/eu.etaxonomy.taxeditor.store.rap/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacadeImpl.java
@@ -15,12 +15,8 @@ import java.net.URISyntaxException;
 
 import javax.naming.OperationNotSupportedException;
 
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -42,13 +38,13 @@ public class UriWithLabelElementFacadeImpl extends UriWithLabelElementFacade {
 	 * @param textHeight
 	 * @param style
 	 */
-	protected UriWithLabelElementFacadeImpl(CdmFormFactory formFactory,
+	protected UriWithLabelElementFacadeImpl(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			URI initialUri, Integer textHeight, int style) {
 		super(formFactory, parentElement, labelString, initialUri, textHeight, style);
 	}
 
-	protected Object getInstanceInternal (CdmFormFactory formFactory,
+	protected Object getInstanceInternal (CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			URI initialUri, Integer textHeight, int style) {
 		return new UriWithLabelElementFacadeImpl(formFactory, parentElement, labelString, initialUri, textHeight, style);
@@ -67,7 +63,7 @@ public class UriWithLabelElementFacadeImpl extends UriWithLabelElementFacade {
 		return new URI(super.getText());
 	}
 
-	protected Object getInstanceInternal(CdmFormFactory formFactory,ICdmFormElement parentElement, String labelString,
+	protected Object getInstanceInternal(CdmFormFactoryFacade formFactory,ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style)
 	{
 		return null;
diff --git a/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java b/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java
index ce31fcc69..015bfea51 100644
--- a/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java
+++ b/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacadeImpl.java
@@ -12,13 +12,9 @@ package eu.etaxonomy.taxeditor.singlesource.ui.forms;
 
 import javax.naming.OperationNotSupportedException;
 
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.common.LanguageString;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -36,19 +32,19 @@ public class LanguageStringWithLabelElementFacadeImpl extends LanguageStringWith
 	/**
 	 * <p>Constructor for LanguageStringWithLabelElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacadeImpl} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
 	 * @param style a int.
 	 */
-	protected LanguageStringWithLabelElementFacadeImpl(CdmFormFactory formFactory,
+	protected LanguageStringWithLabelElementFacadeImpl(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, int style) {
 		this(formFactory, parentElement, labelString, languageString, null, style);
 	}
 
-	protected Object getInstanceInternal (CdmFormFactory formFactory,
+	protected Object getInstanceInternal (CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, int style) {
 		return new LanguageStringWithLabelElementFacadeImpl(formFactory, parentElement, labelString, languageString, style);
@@ -57,14 +53,14 @@ public class LanguageStringWithLabelElementFacadeImpl extends LanguageStringWith
 	/**
 	 * <p>Constructor for LanguageStringWithLabelElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacadeImpl} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
 	 * @param height a int.
 	 * @param style a int.
 	 */
-	protected LanguageStringWithLabelElementFacadeImpl(CdmFormFactory formFactory,
+	protected LanguageStringWithLabelElementFacadeImpl(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, Integer height, int style) {
 		super(formFactory, parentElement, labelString, null, height, style);
@@ -72,13 +68,13 @@ public class LanguageStringWithLabelElementFacadeImpl extends LanguageStringWith
 		setLanguageString(languageString);
 	}
 	
-	protected Object getInstanceInternal (CdmFormFactory formFactory,
+	protected Object getInstanceInternal (CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, Integer height, int style) {
 			return new LanguageStringWithLabelElementFacadeImpl(formFactory, parentElement, labelString, languageString, height, style);
 	}
 	
-	protected Object getInstanceInternal(CdmFormFactory formFactory,ICdmFormElement parentElement, String labelString,
+	protected Object getInstanceInternal(CdmFormFactoryFacade formFactory,ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style)
 	{
 		return null;
diff --git a/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java b/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java
index f9fafc58e..f373130b0 100644
--- a/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java
+++ b/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacadeImpl.java
@@ -17,7 +17,6 @@ import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 
@@ -36,19 +35,19 @@ public class NumberWithLabelElementFacadeImpl extends NumberWithLabelElementFaca
 	/**
 	 * <p>Constructor for NumberWithLabelElement.</p>
 	 *
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacadeImpl} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param initialInteger a {@link java.lang.Integer} object.
 	 * @param style a int.
 	 */
-	protected NumberWithLabelElementFacadeImpl(CdmFormFactory toolkit,
+	protected NumberWithLabelElementFacadeImpl(CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Integer initialInteger, int style) {
 		super(toolkit, parentElement, labelString, initialInteger, style);
 	}
 
-	protected Object getInstanceInternal (CdmFormFactory toolkit,
+	protected Object getInstanceInternal (CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Integer initialInteger, int style) {
 		return new NumberWithLabelElementFacadeImpl(toolkit, parentElement, labelString, initialInteger, style);
@@ -57,25 +56,25 @@ public class NumberWithLabelElementFacadeImpl extends NumberWithLabelElementFaca
 	/**
 	 * <p>Constructor for NumberWithLabelElement.</p>
 	 *
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacadeImpl} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param initialFloat a {@link java.lang.Float} object.
 	 * @param style a int.
 	 */
-	public NumberWithLabelElementFacadeImpl(CdmFormFactory toolkit,
+	public NumberWithLabelElementFacadeImpl(CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Float initialFloat, int style) {
 		super(toolkit, parentElement, labelString, initialFloat, style);
 	}
 
-	protected Object getInstanceInternal (CdmFormFactory toolkit,
+	protected Object getInstanceInternal (CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Float initialFloat, int style) {
 		return new NumberWithLabelElementFacadeImpl(toolkit, parentElement, labelString, initialFloat, style);
 	}
 
-	protected Object getInstanceInternal(CdmFormFactory formFactory,ICdmFormElement parentElement, String labelString,
+	protected Object getInstanceInternal(CdmFormFactoryFacade formFactory,ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style)
 	{
 		return null;
diff --git a/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java b/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java
index f7bd31746..b539ce515 100644
--- a/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java
+++ b/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacadeImpl.java
@@ -11,7 +11,6 @@ import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -28,13 +27,13 @@ public class TextWithLabelElementFacadeImpl extends TextWithLabelElementFacade {
 	public TextWithLabelElementFacadeImpl(){
 	}
 
-	protected TextWithLabelElementFacadeImpl(CdmFormFactory formFactory,
+	protected TextWithLabelElementFacadeImpl(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style) {
 		super(formFactory, parentElement, labelString, initialText, textHeight, style);
 	}	
 
-	protected Object getInstanceInternal (CdmFormFactory formFactory,
+	protected Object getInstanceInternal (CdmFormFactoryFacade formFactory,
 		ICdmFormElement parentElement, String labelString,
 		String initialText, Integer textHeight, int style) {
 	
diff --git a/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacadeImpl.java b/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacadeImpl.java
index 1c8b8f5bc..9fe92b5e0 100644
--- a/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacadeImpl.java
+++ b/eu.etaxonomy.taxeditor.store.rcp/src/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacadeImpl.java
@@ -20,7 +20,6 @@ import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -41,13 +40,13 @@ public class UriWithLabelElementFacadeImpl extends UriWithLabelElementFacade {
 	 * @param textHeight
 	 * @param style
 	 */
-	protected UriWithLabelElementFacadeImpl(CdmFormFactory formFactory,
+	protected UriWithLabelElementFacadeImpl(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			URI initialUri, Integer textHeight, int style) {
 		super(formFactory, parentElement, labelString, initialUri, textHeight, style);
 	}
 
-	protected Object getInstanceInternal (CdmFormFactory formFactory,
+	protected Object getInstanceInternal (CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			URI initialUri, Integer textHeight, int style) {
 		return new UriWithLabelElementFacadeImpl(formFactory, parentElement, labelString, initialUri, textHeight, style);
@@ -66,7 +65,7 @@ public class UriWithLabelElementFacadeImpl extends UriWithLabelElementFacade {
 		return new URI(super.getText());
 	}
 
-	protected Object getInstanceInternal(CdmFormFactory formFactory,ICdmFormElement parentElement, String labelString,
+	protected Object getInstanceInternal(CdmFormFactoryFacade formFactory,ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style)
 	{
 		return null;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/AbstractNewEntityWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/AbstractNewEntityWizard.java
index 6a42015e5..04debcf15 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/AbstractNewEntityWizard.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/AbstractNewEntityWizard.java
@@ -20,9 +20,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 
 /**
  * <p>Abstract AbstractNewEntityWizard class.</p>
@@ -36,7 +36,7 @@ public abstract class AbstractNewEntityWizard<T> extends Wizard implements
 
 	private ConversationHolder conversation;
 	
-	protected CdmFormFactory formFactory;
+	protected CdmFormFactoryFacade formFactory;
 
 	private T entity;
 
@@ -105,7 +105,7 @@ public abstract class AbstractNewEntityWizard<T> extends Wizard implements
 		}
 		this.selection = selection;
 		
-		formFactory = new CdmFormFactory(DisplayProxy.getDefault(), null);
+		formFactory = CdmFormFactoryFacade.getInstance(DisplayProxy.getDefault(), null);
 	 	conversation = CdmStore.createConversation();
 	 	entity = createNewEntity();
 	 	
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/ExternalReferenceServiceWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/ExternalReferenceServiceWizardPage.java
index 0e92c436d..f0beea973 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/ExternalReferenceServiceWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/ExternalReferenceServiceWizardPage.java
@@ -32,8 +32,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.ext.ipni.IIpniService;
 import eu.etaxonomy.cdm.ext.ipni.IpniService;
 import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 
 /**
  * <p>ExternalReferenceServiceWizardPage class.</p>
@@ -45,7 +45,7 @@ import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 public class ExternalReferenceServiceWizardPage extends WizardPage implements SelectionListener, ISelectionChangedListener {
 
 	private ConversationHolder conversation;
-	private CdmFormFactory formFactory;
+	private CdmFormFactoryFacade formFactory;
 	private Reference entity;
 	private Composite control;
 	private ListViewer viewer;
@@ -57,11 +57,11 @@ public class ExternalReferenceServiceWizardPage extends WizardPage implements Se
 	/**
 	 * <p>Constructor for ExternalReferenceServiceWizardPage.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
 	 */
-	protected ExternalReferenceServiceWizardPage(CdmFormFactory formFactory, ConversationHolder conversation, Reference entity) {
+	protected ExternalReferenceServiceWizardPage(CdmFormFactoryFacade formFactory, ConversationHolder conversation, Reference entity) {
 		super("ExternalReferenceServiceWizardPage");
 		this.formFactory = formFactory;
 		this.entity = entity;
@@ -79,19 +79,19 @@ public class ExternalReferenceServiceWizardPage extends WizardPage implements Se
 	public void createControl(Composite parent) {
 		control = formFactory.createComposite(parent);
 		
-		control.setLayout(CdmFormFactory.LAYOUT(2, false));
+		control.setLayout(CdmFormFactoryFacade.LAYOUT(2, false));
 		
 		text_query = new Text(control, SWT.SINGLE | SWT.BORDER);
-		text_query.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		text_query.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 		
 		button_search = new Button(control, SWT.PUSH);
-		button_search.setLayoutData(CdmFormFactory.RIGHT());
+		button_search.setLayoutData(CdmFormFactoryFacade.RIGHT());
 		button_search.setText("Search");
 		
 		button_search.addSelectionListener(this);
 		
 		viewer = new ListViewer(control);
-		viewer.getControl().setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2,1));
+		viewer.getControl().setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2,1));
 		
 		viewer.setContentProvider(new IStructuredContentProvider(){
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/PolytomousKeyWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/PolytomousKeyWizardPage.java
index 7b02512df..3dd85bd40 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/PolytomousKeyWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/PolytomousKeyWizardPage.java
@@ -7,10 +7,10 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement;
 
@@ -20,7 +20,7 @@ import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement;
  */
 public class PolytomousKeyWizardPage extends AbstractCdmEntityWizardPage<PolytomousKey> {
 
-	public PolytomousKeyWizardPage(CdmFormFactory formFactory,
+	public PolytomousKeyWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, PolytomousKey entity) {
 		super(formFactory, conversation, entity);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacade.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacade.java
index 455c99e17..d9b2ef778 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacade.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/LanguageStringWithLabelElementFacade.java
@@ -16,7 +16,6 @@ import org.eclipse.swt.events.ModifyEvent;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.taxeditor.singlesource.ImplementationLoader;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -42,40 +41,40 @@ public abstract class LanguageStringWithLabelElementFacade extends TextWithLabel
 	/**
 	 * <p>Constructor for LanguageStringWithLabelElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
 	 * @param style a int.
 	 */
-	protected LanguageStringWithLabelElementFacade(CdmFormFactory formFactory,
+	protected LanguageStringWithLabelElementFacade(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, int style) {
 		this(formFactory, parentElement, labelString, languageString, null, style);
 	}
 
-	public static LanguageStringWithLabelElementFacade getInstance( CdmFormFactory formFactory,
+	public static LanguageStringWithLabelElementFacade getInstance( CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, int style)
 	{
 		return (LanguageStringWithLabelElementFacade)IMPL.getInstanceInternal(formFactory, parentElement, labelString, languageString, style);
 	}
 	
-	protected abstract Object getInstanceInternal(CdmFormFactory formFactory,
+	protected abstract Object getInstanceInternal(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, int style);
 
 	/**
 	 * <p>Constructor for LanguageStringWithLabelElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
 	 * @param height a int.
 	 * @param style a int.
 	 */
-	protected LanguageStringWithLabelElementFacade(CdmFormFactory formFactory,
+	protected LanguageStringWithLabelElementFacade(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, Integer height, int style) {
 		super(formFactory, parentElement, labelString, null, height, style);
@@ -83,14 +82,14 @@ public abstract class LanguageStringWithLabelElementFacade extends TextWithLabel
 		setLanguageString(languageString);
 	}
 	
-	public static LanguageStringWithLabelElementFacade getInstance( CdmFormFactory formFactory,
+	public static LanguageStringWithLabelElementFacade getInstance( CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, Integer height, int style)
 	{
 		return (LanguageStringWithLabelElementFacade)IMPL.getInstanceInternal(formFactory, parentElement, labelString, languageString, height, style);
 	}
 
-	protected abstract Object getInstanceInternal(CdmFormFactory formFactory,
+	protected abstract Object getInstanceInternal(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			LanguageString languageString, Integer height, int style);
 		
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacade.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacade.java
index 96e295341..786552646 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacade.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/NumberWithLabelElementFacade.java
@@ -17,7 +17,6 @@ import org.eclipse.swt.events.ModifyEvent;
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.taxeditor.singlesource.ImplementationLoader;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
@@ -48,27 +47,27 @@ public abstract class NumberWithLabelElementFacade extends TextWithLabelElementF
 	/**
 	 * <p>Constructor for NumberWithLabelElement.</p>
 	 *
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param initialInteger a {@link java.lang.Integer} object.
 	 * @param style a int.
 	 */
-	protected NumberWithLabelElementFacade(CdmFormFactory toolkit,
+	protected NumberWithLabelElementFacade(CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Integer initialInteger, int style) {
 		super(toolkit, parentElement, labelString, null, null, style);
 		setInteger(initialInteger);
 	}
 
-	public static NumberWithLabelElementFacade getInstance( CdmFormFactory toolkit,
+	public static NumberWithLabelElementFacade getInstance( CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Integer initialInteger, int style)
 	{
 		return (NumberWithLabelElementFacade)IMPL.getInstanceInternal(toolkit, parentElement, labelString, initialInteger, style);
 	}
 
-	protected abstract Object getInstanceInternal(CdmFormFactory toolkit,
+	protected abstract Object getInstanceInternal(CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Integer initialInteger, int style);
 
@@ -76,27 +75,27 @@ public abstract class NumberWithLabelElementFacade extends TextWithLabelElementF
 	/**
 	 * <p>Constructor for NumberWithLabelElement.</p>
 	 *
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param initialFloat a {@link java.lang.Float} object.
 	 * @param style a int.
 	 */
-	protected NumberWithLabelElementFacade(CdmFormFactory toolkit,
+	protected NumberWithLabelElementFacade(CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Float initialFloat, int style) {
 		super(toolkit, parentElement, labelString, null, null, style);
 		setFloat(initialFloat);
 	}
 
-	public static NumberWithLabelElementFacade getInstance( CdmFormFactory toolkit,
+	public static NumberWithLabelElementFacade getInstance( CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Float initialFloat, int style)
 	{
 		return (NumberWithLabelElementFacade)IMPL.getInstanceInternal(toolkit, parentElement, labelString, initialFloat, style);
 	}
 
-	protected abstract Object getInstanceInternal(CdmFormFactory toolkit,
+	protected abstract Object getInstanceInternal(CdmFormFactoryFacade toolkit,
 			ICdmFormElement parentElement, String labelString,
 			Float initialFloat, int style);
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacade.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacade.java
index c0de780be..1267cdb5b 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacade.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/TextWithLabelElementFacade.java
@@ -21,7 +21,6 @@ import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.taxeditor.preference.Resources;
 import eu.etaxonomy.taxeditor.singlesource.ImplementationLoader;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement;
@@ -60,7 +59,7 @@ public abstract class TextWithLabelElementFacade extends AbstractCdmFormElement
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param parentElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -74,7 +73,7 @@ public abstract class TextWithLabelElementFacade extends AbstractCdmFormElement
 	 * @param style
 	 *            a int.
 	 */
-	protected TextWithLabelElementFacade(CdmFormFactory formFactory,
+	protected TextWithLabelElementFacade(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style) {
 		super(formFactory, parentElement);
@@ -83,7 +82,7 @@ public abstract class TextWithLabelElementFacade extends AbstractCdmFormElement
 			label = formFactory.createLabel(getLayoutComposite(),
 					CdmUtils.Nz(labelString), SWT.NULL);
 			addControl(label);
-			label.setLayoutData(CdmFormFactory.LEFT());
+			label.setLayoutData(CdmFormFactoryFacade.LEFT());
 		}
 
 		int scrollStyle = textHeight == null ? SWT.NULL
@@ -124,7 +123,7 @@ public abstract class TextWithLabelElementFacade extends AbstractCdmFormElement
 			});
 		}
 
-		TableWrapData layoutData = CdmFormFactory.FILL();
+		TableWrapData layoutData = CdmFormFactoryFacade.FILL();
 		if (textHeight != null && textHeight > 0) {
 			(layoutData).heightHint = textHeight;
 		}
@@ -136,13 +135,13 @@ public abstract class TextWithLabelElementFacade extends AbstractCdmFormElement
 		setText(initialText);
 	}
 	
-	public static TextWithLabelElementFacade getInstance( CdmFormFactory formFactory,ICdmFormElement parentElement, String labelString,
+	public static TextWithLabelElementFacade getInstance( CdmFormFactoryFacade formFactory,ICdmFormElement parentElement, String labelString,
 	String initialText, Integer textHeight, int style)
 	{
 		return (TextWithLabelElementFacade)IMPL.getInstanceInternal(formFactory,parentElement, labelString, initialText, textHeight, style);
 	}
 
-	protected abstract Object getInstanceInternal(CdmFormFactory formFactory,ICdmFormElement parentElement, String labelString,
+	protected abstract Object getInstanceInternal(CdmFormFactoryFacade formFactory,ICdmFormElement parentElement, String labelString,
 			String initialText, Integer textHeight, int style);
 	
 	
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacade.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacade.java
index 017c4b2b9..8506ad81c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacade.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/singlesource/ui/forms/UriWithLabelElementFacade.java
@@ -16,7 +16,6 @@ import java.net.URISyntaxException;
 import org.apache.log4j.Logger;
 
 import eu.etaxonomy.taxeditor.singlesource.ImplementationLoader;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -43,21 +42,21 @@ public abstract class UriWithLabelElementFacade extends TextWithLabelElementFaca
 	 * @param textHeight
 	 * @param style
 	 */
-	protected UriWithLabelElementFacade(CdmFormFactory formFactory,
+	protected UriWithLabelElementFacade(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			URI initialUri, Integer textHeight, int style) {
 		super(formFactory, parentElement, labelString, null, textHeight, style);
 		setUri(initialUri);
 	}
 
-	public static UriWithLabelElementFacade getInstance( CdmFormFactory formFactory,
+	public static UriWithLabelElementFacade getInstance( CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			URI initialUri, Integer textHeight, int style)
 	{
 		return (UriWithLabelElementFacade)IMPL.getInstanceInternal(formFactory, parentElement, labelString, initialUri, textHeight, style);
 	}
 
-	protected abstract Object getInstanceInternal(CdmFormFactory formFactory,
+	protected abstract Object getInstanceInternal(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			URI initialUri, Integer textHeight, int style);
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmEntityWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmEntityWizardPage.java
index 7ed3808a8..960b71b1b 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmEntityWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmEntityWizardPage.java
@@ -22,6 +22,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
 /**
@@ -36,7 +37,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 public abstract class AbstractCdmEntityWizardPage<T> extends WizardPage
 		implements IConversationEnabled, IPropertyChangeListener {
 
-	protected CdmFormFactory formFactory;
+	protected CdmFormFactoryFacade formFactory;
 	protected T entity;
 
 	AbstractCdmDetailElement<T> detailElement;
@@ -48,7 +49,7 @@ public abstract class AbstractCdmEntityWizardPage<T> extends WizardPage
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -58,7 +59,7 @@ public abstract class AbstractCdmEntityWizardPage<T> extends WizardPage
 	 * @param <T>
 	 *            a T object.
 	 */
-	protected AbstractCdmEntityWizardPage(CdmFormFactory formFactory,
+	protected AbstractCdmEntityWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, T entity) {
 		super("page");
 		this.formFactory = formFactory;
@@ -91,12 +92,12 @@ public abstract class AbstractCdmEntityWizardPage<T> extends WizardPage
 	@Override
 	public void createControl(Composite parent) {
 		ScrolledForm scrolledForm = formFactory.createScrolledForm(parent);
-		scrolledForm.getBody().setLayout(CdmFormFactory.LAYOUT());
+		scrolledForm.getBody().setLayout(CdmFormFactoryFacade.LAYOUT());
 
 		Composite control = formFactory.createComposite(scrolledForm.getBody());
-		control.setLayoutData(CdmFormFactory.FILL());
+		control.setLayoutData(CdmFormFactoryFacade.FILL());
 
-		control.setLayout(CdmFormFactory.LAYOUT(2, false));
+		control.setLayout(CdmFormFactoryFacade.LAYOUT(2, false));
 		WizardPageRootElement rootElement = new WizardPageRootElement(
 				formFactory, control, getConversationHolder());
 
@@ -140,7 +141,7 @@ public abstract class AbstractCdmEntityWizardPage<T> extends WizardPage
 
 		private final ConversationHolder conversation;
 
-		public WizardPageRootElement(CdmFormFactory formFactory,
+		public WizardPageRootElement(CdmFormFactoryFacade formFactory,
 				Composite layoutComposite, ConversationHolder conversation) {
 			super(formFactory, layoutComposite);
 			this.conversation = conversation;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElement.java
index 51548fe4c..5b099809c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElement.java
@@ -16,6 +16,7 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.ui.forms.widgets.Section;
 
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
 /**
@@ -26,7 +27,7 @@ import eu.etaxonomy.taxeditor.store.StoreUtil;
  */
 public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, ICdmFormElement, ISelectable {
 
-	protected CdmFormFactory formFactory;
+	protected CdmFormFactoryFacade formFactory;
 
 	private List<IPropertyChangeListener> propertyChangeListeners;
 
@@ -44,10 +45,10 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter,
 	/**
 	 * <p>Constructor for AbstractCdmFormElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param layoutComposite a {@link org.eclipse.swt.widgets.Composite} object.
 	 */
-	protected AbstractCdmFormElement(CdmFormFactory formFactory, Composite layoutComposite){
+	protected AbstractCdmFormElement(CdmFormFactoryFacade formFactory, Composite layoutComposite){
 		this.layoutComposite = layoutComposite;
 		this.formFactory = formFactory;
 	}
@@ -55,10 +56,10 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter,
 	/**
 	 * <p>Constructor for AbstractCdmFormElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public AbstractCdmFormElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+	public AbstractCdmFormElement(CdmFormFactoryFacade formFactory, ICdmFormElement formElement) {
 		this(formFactory, formElement.getLayoutComposite());
 		this.parentElement = formElement;
 //		addControl(layoutComposite);
@@ -67,9 +68,9 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter,
 	/**
 	 * <p>Getter for the field <code>formFactory</code>.</p>
 	 *
-	 * @return a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @return a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 */
-	public CdmFormFactory getFormFactory() {
+	public CdmFormFactoryFacade getFormFactory() {
 		return formFactory;
 	}
 	
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElementWithErrors.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElementWithErrors.java
index 099d87c6b..a73a2b4b4 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElementWithErrors.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElementWithErrors.java
@@ -13,6 +13,8 @@ package eu.etaxonomy.taxeditor.ui.forms;
 import java.util.ArrayList;
 import java.util.List;
 
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+
 
 /**
  * <p>Abstract AbstractCdmFormElementWithErrors class.</p>
@@ -28,10 +30,10 @@ public abstract class AbstractCdmFormElementWithErrors extends AbstractCdmFormEl
 	/**
 	 * <p>Constructor for AbstractCdmFormElementWithErrors.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public AbstractCdmFormElementWithErrors(CdmFormFactory formFactory,
+	public AbstractCdmFormElementWithErrors(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractFormSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractFormSection.java
index be771b738..2d5e8776e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractFormSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractFormSection.java
@@ -32,6 +32,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
 /**
@@ -50,7 +51,7 @@ public abstract class AbstractFormSection<ENTITY> extends Section implements ISe
 	
 	private Set<ICdmFormElement> elements = new HashSet<ICdmFormElement>();
 	
-	protected CdmFormFactory formFactory;
+	protected CdmFormFactoryFacade formFactory;
 		
 	private List<IPropertyChangeListener> propertyChangeListeners;
 
@@ -65,11 +66,11 @@ public abstract class AbstractFormSection<ENTITY> extends Section implements ISe
 	 *
 	 * @param conversation TODO
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param <ENTITY> a ENTITY object.
 	 */
-	protected AbstractFormSection(CdmFormFactory formFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	protected AbstractFormSection(CdmFormFactoryFacade formFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(parentElement.getLayoutComposite(), style);
 		
 		this.parentElement = parentElement;
@@ -78,12 +79,12 @@ public abstract class AbstractFormSection<ENTITY> extends Section implements ISe
 		
 		this.conversation = conversation;
 		
-		this.setLayoutData(CdmFormFactory.FILL());
+		this.setLayoutData(CdmFormFactoryFacade.FILL());
 		
 		Composite client = formFactory.createComposite(this, SWT.WRAP);
 		client.setBackgroundMode(SWT.INHERIT_DEFAULT);
 		
-		TableWrapLayout layout = CdmFormFactory.LAYOUT();
+		TableWrapLayout layout = CdmFormFactoryFacade.LAYOUT();
 		layout.bottomMargin = 10;
 		layout.rightMargin = 5;
 		
@@ -95,13 +96,13 @@ public abstract class AbstractFormSection<ENTITY> extends Section implements ISe
 	/**
 	 * <p>Constructor for AbstractFormSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	protected AbstractFormSection(CdmFormFactory formFactory, ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
+	protected AbstractFormSection(CdmFormFactoryFacade formFactory, ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
 		this(formFactory, conversation, parentElement, style);
 		this.selectionProvider = selectionProvider;
 	}
@@ -274,7 +275,7 @@ public abstract class AbstractFormSection<ENTITY> extends Section implements ISe
 
 	/** {@inheritDoc} */
 	public void selectionChanged(SelectionChangedEvent event) {
-		if(event.getSelection() == CdmFormFactory.EMPTY_SELECTION){
+		if(event.getSelection() == CdmFormFactoryFacade.EMPTY_SELECTION){
 			return;
 		}
 		
@@ -428,9 +429,9 @@ public abstract class AbstractFormSection<ENTITY> extends Section implements ISe
 	/**
 	 * <p>Getter for the field <code>formFactory</code>.</p>
 	 *
-	 * @return a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @return a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 */
-	public CdmFormFactory getFormFactory() {
+	public CdmFormFactoryFacade getFormFactory() {
 		return formFactory;
 	}
 	
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/BrowserElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/BrowserElement.java
index 7ed905ac0..a1d790fc2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/BrowserElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/BrowserElement.java
@@ -12,6 +12,8 @@ import org.eclipse.swt.events.ControlListener;
 import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.ui.forms.widgets.TableWrapData;
 
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+
 /**
  * <p>BrowserElement class.</p>
  *
@@ -28,18 +30,18 @@ public class BrowserElement extends AbstractCdmFormElement implements ControlLis
 	 * <p>Constructor for BrowserElement.</p>
 	 *
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param imageUri a {@link java.net.URI} object.
 	 */
-	protected BrowserElement(CdmFormFactory formFactory, ICdmFormElement parentElement, URI imageUri, int style) {
+	public BrowserElement(CdmFormFactoryFacade formFactory, ICdmFormElement parentElement, URI imageUri, int style) {
 		super(formFactory, parentElement);
 		formFactory.createLabel(getLayoutComposite(), "");
 		
 		browser = new Browser(getLayoutComposite(), SWT.NONE);
 		addControl(browser);
 		
-		getLayoutComposite().setLayoutData(CdmFormFactory.FILL());
+		getLayoutComposite().setLayoutData(CdmFormFactoryFacade.FILL());
 		
 
 		layoutBrowser();
@@ -54,7 +56,7 @@ public class BrowserElement extends AbstractCdmFormElement implements ControlLis
 	 * 
 	 */
 	private void layoutBrowser() {
-		TableWrapData layoutData = CdmFormFactory.FILL();
+		TableWrapData layoutData = CdmFormFactoryFacade.FILL();
 		layoutData.heightHint = 1000;
 		
 		browser.setLayoutData(layoutData);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CheckboxElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CheckboxElement.java
index 8ad897a52..94532e115 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CheckboxElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CheckboxElement.java
@@ -18,6 +18,7 @@ import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Label;
 
 import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 
 /**
  * <p>CheckboxElement class.</p>
@@ -37,11 +38,11 @@ public class CheckboxElement extends AbstractCdmFormElement implements Selection
 	 *
 	 * @param initialState a boolean.
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 */
-	protected CheckboxElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString, boolean initialState,
+	public CheckboxElement(CdmFormFactoryFacade formFactory, ICdmFormElement parentElement, String labelString, boolean initialState,
 			int style) {
 		super(formFactory, parentElement);
 		
@@ -51,7 +52,7 @@ public class CheckboxElement extends AbstractCdmFormElement implements Selection
 		}
 		
 		checkbox = formFactory.createButton(getLayoutComposite(), null, SWT.CHECK | style);
-		checkbox.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		checkbox.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 		
 		checkbox.setSelection(initialState);
 		
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/DateDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/DateDetailSection.java
index ea2d80b29..8c9950e8e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/DateDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/DateDetailSection.java
@@ -16,6 +16,7 @@ import org.joda.time.Partial;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.common.TimePeriod;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
 
 /**
@@ -41,7 +42,7 @@ public class DateDetailSection extends AbstractFormSection<TimePeriod> {
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param parentElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -49,7 +50,7 @@ public class DateDetailSection extends AbstractFormSection<TimePeriod> {
 	 * @param style
 	 *            a int.
 	 */
-	protected DateDetailSection(CdmFormFactory formFactory,
+	public DateDetailSection(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, int style) {
 		super(formFactory, null, parentElement, style);
 
@@ -61,12 +62,12 @@ public class DateDetailSection extends AbstractFormSection<TimePeriod> {
 		text_parseText = formFactory.createTextWithLabelElement(this, "Parse",
 				null, style);
 		text_parseText.getMainControl().setLayoutData(
-				CdmFormFactory.FILL_HORIZONTALLY(6, 1));
+				CdmFormFactoryFacade.FILL_HORIZONTALLY(6, 1));
 
 		text_freeText = formFactory.createTextWithLabelElement(this,
 				"Freetext", null, style);
 		text_freeText.getMainControl().setLayoutData(
-				CdmFormFactory.FILL_HORIZONTALLY(6, 1));
+				CdmFormFactoryFacade.FILL_HORIZONTALLY(6, 1));
 
 		formFactory.addPropertyChangeListener(this);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/ImageElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/ImageElement.java
index 02e762975..8db5afa37 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/ImageElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/ImageElement.java
@@ -34,6 +34,7 @@ import org.eclipse.ui.forms.widgets.TableWrapData;
 
 import eu.etaxonomy.cdm.common.UriUtils;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
 /**
@@ -55,19 +56,19 @@ public class ImageElement extends AbstractCdmFormElement implements PaintListene
 	/**
 	 * <p>Constructor for ImageElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param imageUri a {@link java.net.URI} object.
 	 * @param style a int.
 	 */
-	protected ImageElement(CdmFormFactory formFactory, ICdmFormElement parentElement, URI imageUri, int style) {
+	public ImageElement(CdmFormFactoryFacade formFactory, ICdmFormElement parentElement, URI imageUri, int style) {
 		super(formFactory, parentElement);
 			
 		/** RAPSS:Modify Must be Canvas in order to support GC drawing in RAP
 		container = new Composite(getLayoutComposite(), style);
 		*/
 		container = new Canvas(getLayoutComposite(), style);
-		container.setLayoutData(CdmFormFactory.FILL(2, 1));
+		container.setLayoutData(CdmFormFactoryFacade.FILL(2, 1));
 		
 		container.addPaintListener(this);
 	}
@@ -210,7 +211,7 @@ public class ImageElement extends AbstractCdmFormElement implements PaintListene
 	/** {@inheritDoc} */
 	@Override
 	public void paintControl(PaintEvent e) {
-		TableWrapData layoutData = CdmFormFactory.FILL(2, 1);
+		TableWrapData layoutData = CdmFormFactoryFacade.FILL(2, 1);
 		Control control = (Control) e.widget;
 		if(image != null){
 			Rectangle imageMaxBounds = calculateImageBounds(image, control);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/KeyStatementElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/KeyStatementElement.java
index f15f7d197..6f584f4fb 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/KeyStatementElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/KeyStatementElement.java
@@ -13,6 +13,7 @@ package eu.etaxonomy.taxeditor.ui.forms;
 import org.eclipse.jface.util.PropertyChangeEvent;
 
 import eu.etaxonomy.cdm.model.description.KeyStatement;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 
 /**
  * @author n.hoffmann
@@ -27,7 +28,7 @@ public class KeyStatementElement extends MultilanguageTextElement {
 	 * @param formFactory
 	 * @param formElement
 	 */
-	public KeyStatementElement(CdmFormFactory formFactory,
+	public KeyStatementElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, String labelString,
 			KeyStatement keyStatement, int textHeight, int style) {
 		super(formFactory, formElement, labelString, null, textHeight, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/KeyValueViewerElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/KeyValueViewerElement.java
index d6ad4f350..1453bbe78 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/KeyValueViewerElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/KeyValueViewerElement.java
@@ -16,6 +16,8 @@ import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.ui.forms.widgets.TableWrapData;
 
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+
 /**
  * <p>KeyValueViewerElement class.</p>
  *
@@ -31,18 +33,18 @@ public class KeyValueViewerElement extends AbstractCdmFormElement {
 	/**
 	 * <p>Constructor for KeyValueViewerElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param keyHeading a {@link java.lang.String} object.
 	 * @param valueHeading a {@link java.lang.String} object.
 	 * @param map a {@link java.util.Map} object.
 	 */
-	public KeyValueViewerElement(CdmFormFactory formFactory,
+	public KeyValueViewerElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, String keyHeading, String valueHeading, Map<Object, Object> map) {
 		super(formFactory, formElement);
 		
 		label = formFactory.createLabel(getLayoutComposite(), "Meta Data");
-		label.setLayoutData(CdmFormFactory.FILL(2, 1));
+		label.setLayoutData(CdmFormFactoryFacade.FILL(2, 1));
 		addControl(label);
 		
 		tableViewer = new TableViewer(formElement.getLayoutComposite(), SWT.MULTI | SWT.H_SCROLL
@@ -51,7 +53,7 @@ public class KeyValueViewerElement extends AbstractCdmFormElement {
 		
 		createColumns(tableViewer, keyHeading, valueHeading);
 		
-		TableWrapData layoutData = CdmFormFactory.FILL(2, 1);
+		TableWrapData layoutData = CdmFormFactoryFacade.FILL(2, 1);
 		layoutData.heightHint = 100;
 		
 		tableViewer.getControl().setLayoutData(layoutData);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/LabelElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/LabelElement.java
index 7fc5174d3..1672ce4c6 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/LabelElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/LabelElement.java
@@ -14,6 +14,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Label;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 
 /**
  * <p>LabelElement class.</p>
@@ -29,15 +30,15 @@ public class LabelElement extends AbstractCdmFormElement {
 	/**
 	 * <p>Constructor for LabelElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param text a {@link java.lang.String} object.
 	 */
-	public LabelElement(CdmFormFactory formFactory, ICdmFormElement formElement, String text) {
+	public LabelElement(CdmFormFactoryFacade formFactory, ICdmFormElement formElement, String text) {
 		super(formFactory, formElement);
 		
 		label = formFactory.createLabel(getLayoutComposite(), text, SWT.WRAP);
-		label.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		label.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		addControl(label);
 	}
 	
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/MultilanguageTextElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/MultilanguageTextElement.java
index 1bf18da70..239911bd7 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/MultilanguageTextElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/MultilanguageTextElement.java
@@ -28,9 +28,10 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.LanguageStringWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.term.EmptyComboElement;
 import eu.etaxonomy.taxeditor.ui.translation.TranslationWizard;
 
@@ -90,7 +91,7 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -104,7 +105,7 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
 	 * @param style
 	 *            a int.
 	 */
-	public MultilanguageTextElement(CdmFormFactory formFactory,
+	public MultilanguageTextElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, String labelString,
 			Map<Language, LanguageString> multilanguageText,
 			Integer textHeight, int style) {
@@ -125,7 +126,7 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
 			button = formFactory.createButton(getLayoutComposite(),
 					"Open In Translation Editor", SWT.PUSH);
 			addControl(button);
-			button.setLayoutData(CdmFormFactory.RIGHT());
+			button.setLayoutData(CdmFormFactoryFacade.RIGHT());
 			button.addSelectionListener(new OpenTranslationWizard(
 					multilanguageText));
 		}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PartialElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PartialElement.java
index 6e8df3c57..10439671d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PartialElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PartialElement.java
@@ -16,6 +16,7 @@ import org.eclipse.swt.widgets.Label;
 import org.joda.time.Partial;
 
 import eu.etaxonomy.cdm.model.common.TimePeriod;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
 
 /**
@@ -36,16 +37,16 @@ public class PartialElement extends AbstractCdmFormElement {
 	/**
 	 * <p>Constructor for PartialElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.CdmFormFactory} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param style a int.
 	 */
-	public PartialElement(CdmFormFactory formFactory,
+	public PartialElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, String labelString, int style) {
 		super(formFactory, formElement);
 		
-		formElement.getLayoutComposite().setLayout(CdmFormFactory.LAYOUT(7, false));
+		formElement.getLayoutComposite().setLayout(CdmFormFactoryFacade.LAYOUT(7, false));
 		
 		label = formFactory.createLabel(getLayoutComposite(), labelString);
 		addControl(label);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PointElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PointElement.java
index 3b8895bf4..56fe4e759 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PointElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PointElement.java
@@ -16,9 +16,10 @@ import org.eclipse.jface.util.PropertyChangeEvent;
 
 import eu.etaxonomy.cdm.model.location.Point;
 import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.term.ReferenceSystemComboElement;
 
 /**
@@ -50,7 +51,7 @@ public class PointElement extends AbstractCdmFormElement implements
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -60,7 +61,7 @@ public class PointElement extends AbstractCdmFormElement implements
 	 * @param style
 	 *            a int.
 	 */
-	public PointElement(CdmFormFactory formFactory,
+	public PointElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, Point point, final int style) {
 		super(formFactory, formElement);
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/RootElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/RootElement.java
index 4ca2ad87b..9d48b196b 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/RootElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/RootElement.java
@@ -13,6 +13,8 @@ package eu.etaxonomy.taxeditor.ui.forms;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.widgets.Composite;
 
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+
 /**
  * <p>RootElement class.</p>
  *
@@ -25,10 +27,10 @@ public class RootElement extends AbstractCdmFormElement {
 	/**
 	 * <p>Constructor for RootElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param layoutComposite a {@link org.eclipse.swt.widgets.Composite} object.
 	 */
-	public RootElement(CdmFormFactory formFactory, Composite layoutComposite) {
+	public RootElement(CdmFormFactoryFacade formFactory, Composite layoutComposite) {
 		super(formFactory, layoutComposite);
 	}
 	
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TextActionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TextActionElement.java
index 0d19fd0fd..32192cdfd 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TextActionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TextActionElement.java
@@ -14,6 +14,7 @@ import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 
 /**
  * <p>TextActionElement class.</p>
@@ -32,26 +33,26 @@ public class TextActionElement extends AbstractCdmFormElement implements ModifyL
 	 * <p>Constructor for TextActionElement.</p>
 	 *
 	 * @param style a int.
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param buttonLabel a {@link java.lang.String} object.
 	 * @param initialText a {@link java.lang.String} object.
 	 */
-	protected TextActionElement(CdmFormFactory toolkit, ICdmFormElement parentElement, String labelString, String buttonLabel, String initialText, int style) {
+	public TextActionElement(CdmFormFactoryFacade toolkit, ICdmFormElement parentElement, String labelString, String buttonLabel, String initialText, int style) {
 		super(toolkit, parentElement);
 		
 		label = toolkit.createLabel(getLayoutComposite(), labelString, SWT.WRAP);
 		addControl(label);
 		
 		box = formFactory.createComposite(getLayoutComposite());
-		box.setLayout(CdmFormFactory.LAYOUT(2, false));
-		box.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		box.setLayout(CdmFormFactoryFacade.LAYOUT(2, false));
+		box.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 		addControl(box);
 		
 		text = toolkit.createText(box, "", style);
 		addControl(text);
-		text.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		text.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 		
 		setText(CdmUtils.Nz(initialText));
 		
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TimePeriodElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TimePeriodElement.java
index aa728eb6b..ec57311ef 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TimePeriodElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TimePeriodElement.java
@@ -16,6 +16,7 @@ import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.model.common.TimePeriod;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 
 /**
  * <p>
@@ -40,7 +41,7 @@ public class TimePeriodElement extends AbstractCdmFormElement {
 	 * @param style
 	 *            a int.
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param parentElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -50,7 +51,7 @@ public class TimePeriodElement extends AbstractCdmFormElement {
 	 * @param timePeriod
 	 *            a {@link eu.etaxonomy.cdm.model.common.TimePeriod} object.
 	 */
-	public TimePeriodElement(CdmFormFactory formFactory,
+	public TimePeriodElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			TimePeriod timePeriod, final int style) {
 		super(formFactory, parentElement);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/ToggleableTextElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/ToggleableTextElement.java
index 1a7a09a33..dccd488c8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/ToggleableTextElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/ToggleableTextElement.java
@@ -27,6 +27,7 @@ import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
 /**
@@ -50,13 +51,13 @@ public class ToggleableTextElement extends AbstractCdmFormElement implements Sel
 	 * <p>Constructor for ToggleableTextElement.</p>
 	 *
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param initialText a {@link java.lang.String} object.
 	 * @param initialState a boolean.
 	 */
-	protected ToggleableTextElement(CdmFormFactory formFactory, ICdmFormElement parentElement,
+	public ToggleableTextElement(CdmFormFactoryFacade formFactory, ICdmFormElement parentElement,
 			String labelString, String initialText, boolean initialState, int style) {
 		super(formFactory, parentElement);
 		
@@ -64,14 +65,14 @@ public class ToggleableTextElement extends AbstractCdmFormElement implements Sel
 		addControl(label);
 		
 		container = formFactory.createComposite(getLayoutComposite(), SWT.WRAP);		
-		container.setLayout(CdmFormFactory.LAYOUT(2, false));
-		container.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		container.setLayout(CdmFormFactoryFacade.LAYOUT(2, false));
+		container.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 		addControl(container);
 		
 		text_cache = formFactory.createText(container, initialText, SWT.WRAP | SWT.MULTI);
 		addControl(text_cache);
 		text_cache.addModifyListener(this);
-		text_cache.setLayoutData(CdmFormFactory.FILL());
+		text_cache.setLayoutData(CdmFormFactoryFacade.FILL());
 
 		// Don't accept carriage returns as input
 		text_cache.addKeyListener( new KeyAdapter(){
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/EditPasswordElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/EditPasswordElement.java
index 1a221a00b..80aedfb68 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/EditPasswordElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/EditPasswordElement.java
@@ -21,8 +21,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -41,7 +41,7 @@ public class EditPasswordElement extends AbstractCdmFormElement implements Selec
 	 * @param formFactory
 	 * @param formElement
 	 */
-	public EditPasswordElement(CdmFormFactory formFactory,
+	public EditPasswordElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, String labelString, User user, ConversationHolder conversation) {
 		super(formFactory, formElement);
 		
@@ -54,7 +54,7 @@ public class EditPasswordElement extends AbstractCdmFormElement implements Selec
 		String buttonLabelString = (labelString != null) ? labelString : "Change Password";
 		
 		button = formFactory.createButton(getLayoutComposite(), buttonLabelString, SWT.PUSH);
-		button.setLayoutData(CdmFormFactory.RIGHT());
+		button.setLayoutData(CdmFormFactoryFacade.RIGHT());
 		addControl(button);
 		
 		button.addSelectionListener(this);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/PasswordWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/PasswordWizard.java
index cdf87cd73..67e26f4e9 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/PasswordWizard.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/PasswordWizard.java
@@ -18,8 +18,8 @@ import eu.etaxonomy.cdm.api.service.IUserService;
 import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 
 /**
  * @author n.hoffmann
@@ -42,7 +42,7 @@ public class PasswordWizard extends Wizard implements IConversationEnabled{
 	 */
 	@Override
 	public void addPages() {
-		CdmFormFactory formFactory = new CdmFormFactory(DisplayProxy.getDefault());
+		CdmFormFactoryFacade formFactory = CdmFormFactoryFacade.getInstance(DisplayProxy.getDefault());
 		
 //		if(CdmStore.getLoginManager().isAdmin()){
 //			
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/PasswordWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/PasswordWizardPage.java
index 4d41c48a2..7cbb5c0e9 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/PasswordWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/PasswordWizardPage.java
@@ -20,10 +20,10 @@ import org.eclipse.swt.widgets.Text;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IUserService;
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -49,7 +49,7 @@ public class PasswordWizardPage extends AbstractCdmEntityWizardPage<User> implem
 	 * @param conversation
 	 * @param entity
 	 */
-	protected PasswordWizardPage(CdmFormFactory formFactory,
+	protected PasswordWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, User entity) {
 		super(formFactory, conversation, entity);
 		
@@ -62,11 +62,11 @@ public class PasswordWizardPage extends AbstractCdmEntityWizardPage<User> implem
 	@Override
 	public void createControl(Composite parent) {
 		Composite control = formFactory.createComposite(parent);
-		control.setLayoutData(CdmFormFactory.FILL());
+		control.setLayoutData(CdmFormFactoryFacade.FILL());
 		
 		setPageComplete(false);
 		
-		control.setLayout(CdmFormFactory.LAYOUT(2, false));
+		control.setLayout(CdmFormFactoryFacade.LAYOUT(2, false));
 		WizardPageRootElement rootElement = new WizardPageRootElement(formFactory, control, getConversationHolder());
 		
 		text_oldPassword = formFactory.createTextWithLabelElement(rootElement, "Old Password", null, SWT.PASSWORD);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlReferencePage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlReferencePage.java
index 9ed8d98cf..50af61ad1 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlReferencePage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlReferencePage.java
@@ -26,8 +26,8 @@ import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.forms.widgets.ScrolledForm;
 
 import eu.etaxonomy.cdm.ext.openurl.OpenUrlReference;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ImageElement;
 import eu.etaxonomy.taxeditor.ui.forms.RootElement;
 
@@ -73,7 +73,7 @@ public class OpenUrlReferencePage extends WizardPage implements SelectionListene
 		container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 		
 		scrolledForm = getWizard().getFormFactory().createScrolledForm(container);
-		scrolledForm.getBody().setLayout(CdmFormFactory.LAYOUT(3, false));
+		scrolledForm.getBody().setLayout(CdmFormFactoryFacade.LAYOUT(3, false));
 		scrolledForm.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true));
 		
 		Composite buttonContainer = getWizard().getFormFactory().createComposite(container);
@@ -91,7 +91,7 @@ public class OpenUrlReferencePage extends WizardPage implements SelectionListene
 		button_next.addSelectionListener(this);
 		button_next.setLayoutData(new GridData(SWT.RIGHT, SWT.BOTTOM, true, false));
 		
-		scrolledForm.getBody().setLayoutData(CdmFormFactory.FILL());
+		scrolledForm.getBody().setLayoutData(CdmFormFactoryFacade.FILL());
 		
 		rootElement = new RootElement(getWizard().getFormFactory(), scrolledForm.getBody());
 		
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorElement.java
index 17a434e89..632d9105e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorElement.java
@@ -19,9 +19,9 @@ import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Label;
 
 import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -47,7 +47,7 @@ public class OpenUrlSelectorElement extends AbstractCdmFormElement implements Se
 	 * @param textHeight
 	 * @param style
 	 */
-	public OpenUrlSelectorElement(CdmFormFactory formFactory,
+	public OpenUrlSelectorElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString, IOpenUrlEnabled openUrlEnabled, int style) {
 		super(formFactory, parentElement);
 		this.openUrlEnabled = openUrlEnabled;
@@ -56,7 +56,7 @@ public class OpenUrlSelectorElement extends AbstractCdmFormElement implements Se
 		addControl(label);
 		
 		button = formFactory.createButton(getLayoutComposite(), labelString, SWT.PUSH);
-		button.setLayoutData(CdmFormFactory.RIGHT());
+		button.setLayoutData(CdmFormFactoryFacade.RIGHT());
 		addControl(button);
 		button.addSelectionListener(this);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorWizard.java
index 5a50424bf..9e95dcc6c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorWizard.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorWizard.java
@@ -23,7 +23,7 @@ import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 
 /**
  * @author n.hoffmann
@@ -38,7 +38,7 @@ public class OpenUrlSelectorWizard extends Wizard {
 	
 	private OpenUrlReference openUrlReference;
 	
-	private CdmFormFactory formFactory;
+	private CdmFormFactoryFacade formFactory;
 
 	private URI openUrlReferenceImageUri;
 	
@@ -63,7 +63,7 @@ public class OpenUrlSelectorWizard extends Wizard {
 		setWindowTitle("Mobot Open Url");
 		setNeedsProgressMonitor(true);
 		
-		formFactory = new CdmFormFactory(DisplayProxy.getDefault());
+		formFactory = CdmFormFactoryFacade.getInstance(DisplayProxy.getDefault());
 		
 		openUrlServiceWrapper = new MobotOpenUrlServiceWrapper();
 		openUrlServiceWrapper.setBaseUrl(PreferencesUtil.getPreferenceStore().getString(IPreferenceKeys.OPENURL_ACCESS_POINT));
@@ -136,7 +136,7 @@ public class OpenUrlSelectorWizard extends Wizard {
 	/**
 	 * @return the formFactory
 	 */
-	public CdmFormFactory getFormFactory() {
+	public CdmFormFactoryFacade getFormFactory() {
 		return formFactory;
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java
index ad6b985c0..9934984e2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java
@@ -21,9 +21,9 @@ import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement;
@@ -49,11 +49,11 @@ public abstract class AbstractCdmDetailElement<T> extends
 	/**
 	 * <p>Constructor for AbstractCdmDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param <T> a T object.
 	 */
-	public AbstractCdmDetailElement(CdmFormFactory formFactory,
+	public AbstractCdmDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, (ICdmFormElement) formElement);
 		// register as property change listener
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java
index 5e6516ff6..c2bcf9ac9 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java
@@ -22,9 +22,9 @@ import org.eclipse.ui.forms.widgets.TableWrapLayout;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.ISelectableElement;
@@ -43,14 +43,14 @@ public abstract class AbstractCdmDetailSection<ENTITY> extends AbstractFormSecti
 	/**
 	 * <p>Constructor for AbstractCdmDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 * @param <ENTITY> a ENTITY object.
 	 */
-	public AbstractCdmDetailSection(CdmFormFactory formFactory,
+	public AbstractCdmDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, Section.CLIENT_INDENT | style);
 		
@@ -80,7 +80,7 @@ public abstract class AbstractCdmDetailSection<ENTITY> extends AbstractFormSecti
 	/**
 	 * <p>getDetailType</p>
 	 *
-	 * @return a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType} object.
+	 * @return a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType} object.
 	 */
 	protected abstract DetailType getDetailType();
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionElement.java
index c77ee1ccb..8ca89e7e0 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionElement.java
@@ -24,9 +24,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.ImageResources;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEntityElement;
 import eu.etaxonomy.taxeditor.ui.forms.ISelectable;
@@ -54,13 +54,13 @@ public abstract class AbstractEntityCollectionElement<ENTITY> extends AbstractCd
 	 * <p>Constructor for AbstractEntityCollectionElement.</p>
 	 *
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param entity a ENTITY object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param <ENTITY> a ENTITY object.
 	 */
-	public AbstractEntityCollectionElement(CdmFormFactory formFactory, AbstractFormSection section, ENTITY entity, SelectionListener removeListener,
+	public AbstractEntityCollectionElement(CdmFormFactoryFacade formFactory, AbstractFormSection section, ENTITY entity, SelectionListener removeListener,
 			Color backgroundColor, int style) {
 		super(formFactory, (ICdmFormElement) section);
 
@@ -75,12 +75,12 @@ public abstract class AbstractEntityCollectionElement<ENTITY> extends AbstractCd
 		addControl(box);
 		
 
-		TableWrapLayout boxLayout = CdmFormFactory.LAYOUT(2, false);		
+		TableWrapLayout boxLayout = CdmFormFactoryFacade.LAYOUT(2, false);		
 		boxLayout.topMargin = 4;
 		boxLayout.bottomMargin = 4;
 		box.setLayout(boxLayout);
 		
-		box.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		box.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 		
 //		box.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
 		
@@ -91,15 +91,15 @@ public abstract class AbstractEntityCollectionElement<ENTITY> extends AbstractCd
 		setLayoutComposite(container);
 		
 		addControl(container);
-		Layout containerLayout = CdmFormFactory.LAYOUT(2, false);
+		Layout containerLayout = CdmFormFactoryFacade.LAYOUT(2, false);
 		
 		container.setLayout(containerLayout);
-		container.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		container.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 		
 		if(removeListener != null){
 			button_remove = formFactory.createButton(box, null, SWT.PUSH);
 			addControl(button_remove);
-			button_remove.setLayoutData(CdmFormFactory.RIGHT());
+			button_remove.setLayoutData(CdmFormFactoryFacade.RIGHT());
 			button_remove.setImage(ImageResources.getImage(ImageResources.TRASH_ICON));
 			button_remove.setToolTipText("Remove");
 			
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java
index 9ee5eb393..739bc1c06 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java
@@ -28,9 +28,9 @@ import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
@@ -54,12 +54,12 @@ public abstract class AbstractEntityCollectionSection<ENTITY, ELEMENT> extends A
 	 * @param conversation 
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param title a {@link java.lang.String} object.
 	 * @param <ENTITY> a ENTITY object.
 	 * @param <ELEMENT> a ELEMENT object.
 	 */
-	public AbstractEntityCollectionSection(CdmFormFactory formFactory, ConversationHolder conversation, ICdmFormElement parentElement, String title, int style) {
+	public AbstractEntityCollectionSection(CdmFormFactoryFacade formFactory, ConversationHolder conversation, ICdmFormElement parentElement, String title, int style) {
 		super(formFactory, conversation, parentElement, Section.CLIENT_INDENT | style);
 		this.title = title;
 		this.setText(getTitleString());
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java
index 4cd5efe01..0ce198015 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java
@@ -6,7 +6,7 @@ package eu.etaxonomy.taxeditor.ui.section;
 import java.util.Arrays;
 
 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
 
@@ -19,7 +19,7 @@ public abstract class AbstractIdentifiableEntityDetailElement<T extends IIdentif
 
 	protected ToggleableTextElement toggleable_cache;
 	
-	public AbstractIdentifiableEntityDetailElement(CdmFormFactory formFactory,
+	public AbstractIdentifiableEntityDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java
index d010c9a41..c0394967f 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java
@@ -16,8 +16,8 @@ import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.widgets.Label;
 
 import eu.etaxonomy.cdm.model.common.VersionableEntity;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEntityElement;
 
@@ -37,11 +37,11 @@ public class EmptyElement extends AbstractCdmFormElement implements IEntityEleme
 	 * <p>Constructor for EmptyElement.</p>
 	 *
 	 * @param style a int.
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
 	 */
-	public EmptyElement(CdmFormFactory toolkit, ICdmFormElement parentElement, VersionableEntity entity, int style) {
+	public EmptyElement(CdmFormFactoryFacade toolkit, ICdmFormElement parentElement, VersionableEntity entity, int style) {
 		super(toolkit, parentElement);
 		addControl(new Label(getLayoutComposite(), SWT.HORIZONTAL));
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java
index e6b2a57e3..d60ae9157 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java
@@ -11,9 +11,9 @@
 package eu.etaxonomy.taxeditor.ui.section.agent;
 
 import eu.etaxonomy.cdm.model.agent.Institution;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.selection.InstitutionSelectionElement;
@@ -38,7 +38,7 @@ public class InstitutionDetailElement extends
 	 * @param formFactory
 	 * @param formElement
 	 */
-	public InstitutionDetailElement(CdmFormFactory formFactory,
+	public InstitutionDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java
index 9003785e0..a45cc1fb4 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java
@@ -14,9 +14,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Institution;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -33,7 +33,7 @@ public class InstitutionDetailSection extends AbstractCdmDetailSection<Instituti
 	 * @param selectionProvider
 	 * @param style
 	 */
-	public InstitutionDetailSection(CdmFormFactory formFactory,
+	public InstitutionDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionWizardPage.java
index f3a8a0007..c5a8f0269 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionWizardPage.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Institution;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -33,7 +33,7 @@ public class InstitutionWizardPage extends
 	 * @param conversation
 	 * @param entity
 	 */
-	public InstitutionWizardPage(CdmFormFactory formFactory,
+	public InstitutionWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, Institution entity) {
 		super(formFactory, conversation, entity);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java
index a7a74aa2b..ff69d1214 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java
@@ -16,8 +16,8 @@ import java.util.Collection;
 import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.model.agent.Person;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
@@ -47,7 +47,7 @@ public class PersonDetailElement extends AbstractIdentifiableEntityDetailElement
 	 * </p>
 	 * 
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -55,7 +55,7 @@ public class PersonDetailElement extends AbstractIdentifiableEntityDetailElement
 	 * @param style
 	 *            a int.
 	 */
-	public PersonDetailElement(CdmFormFactory cdmFormFactory,
+	public PersonDetailElement(CdmFormFactoryFacade cdmFormFactory,
 			ICdmFormElement formElement, int style) {
 		super(cdmFormFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailSection.java
index 46bbf8b59..b943fda07 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailSection.java
@@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Person;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
@@ -31,13 +31,13 @@ public class PersonDetailSection extends AbstractCdmDetailSection<Person>{
 	/**
 	 * <p>Constructor for PersonDetailSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public PersonDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
+	public PersonDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonWizardPage.java
index c67ac2220..38715e263 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonWizardPage.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Person;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -32,11 +32,11 @@ public class PersonWizardPage extends AbstractCdmEntityWizardPage<Person> {
 	/**
 	 * <p>Constructor for PersonWizardPage.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.agent.Person} object.
 	 */
-	public PersonWizardPage(CdmFormFactory formFactory, ConversationHolder conversation,
+	public PersonWizardPage(CdmFormFactoryFacade formFactory, ConversationHolder conversation,
 			Person entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Person");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java
index 976339182..a84c55246 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java
@@ -15,8 +15,8 @@ import java.util.Arrays;
 import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.model.agent.Team;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
@@ -43,7 +43,7 @@ public class TeamDetailElement extends AbstractIdentifiableEntityDetailElement<T
 	 * </p>
 	 * 
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -51,7 +51,7 @@ public class TeamDetailElement extends AbstractIdentifiableEntityDetailElement<T
 	 * @param style
 	 *            a int.
 	 */
-	public TeamDetailElement(CdmFormFactory cdmFormFactory,
+	public TeamDetailElement(CdmFormFactoryFacade cdmFormFactory,
 			ICdmFormElement formElement, int style) {
 		super(cdmFormFactory, formElement);
 	}
@@ -71,7 +71,7 @@ public class TeamDetailElement extends AbstractIdentifiableEntityDetailElement<T
 		section_teamMembers = (TeamMemberSection) formFactory
 				.createEntityDetailSection(EntityDetailType.TEAMMEMBER,
 						getConversationHolder(), formElement, Section.EXPANDED);
-		section_teamMembers.setLayoutData(CdmFormFactory
+		section_teamMembers.setLayoutData(CdmFormFactoryFacade
 				.FILL_HORIZONTALLY(2, 1));
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailSection.java
index 6cf73bc46..6fa9e2865 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailSection.java
@@ -14,9 +14,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Team;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -31,13 +31,13 @@ public class TeamDetailSection extends AbstractCdmDetailSection<Team>{
 	/**
 	 * <p>Constructor for TeamDetailSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public TeamDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
+	public TeamDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java
index 493de9a7f..964e341c6 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
@@ -41,7 +41,7 @@ public class TeamMemberElement extends AbstractEntityCollectionElement<Person> {
 	 * </p>
 	 * 
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param section
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -53,7 +53,7 @@ public class TeamMemberElement extends AbstractEntityCollectionElement<Person> {
 	 * @param style
 	 *            a int.
 	 */
-	public TeamMemberElement(CdmFormFactory cdmFormFactory,
+	public TeamMemberElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection section, Person entity,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java
index 3a73774cd..3aa77c6fa 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java
@@ -15,7 +15,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -31,12 +31,12 @@ public class TeamMemberSection extends AbstractEntityCollectionSection<Team, Per
 	/**
 	 * <p>Constructor for TeamMemberSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public TeamMemberSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public TeamMemberSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, null, style);
 	}
 	
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamOrPersonBaseDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamOrPersonBaseDetailSection.java
index 28944f7bc..d66a9f8a6 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamOrPersonBaseDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamOrPersonBaseDetailSection.java
@@ -17,9 +17,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -37,13 +37,13 @@ public class TeamOrPersonBaseDetailSection extends AbstractCdmDetailSection<Team
 	/**
 	 * <p>Constructor for TeamOrPersonBaseDetailSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public TeamOrPersonBaseDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+	public TeamOrPersonBaseDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamWizardPage.java
index 91bceab12..4a819b3d8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamWizardPage.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Team;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -37,7 +37,7 @@ public class TeamWizardPage extends AbstractCdmEntityWizardPage<Team> {
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -45,7 +45,7 @@ public class TeamWizardPage extends AbstractCdmEntityWizardPage<Team> {
 	 * @param entity
 	 *            a {@link eu.etaxonomy.cdm.model.agent.Team} object.
 	 */
-	public TeamWizardPage(CdmFormFactory formFactory,
+	public TeamWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, Team entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Team");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java
index dbcb18324..22fe956c0 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java
@@ -15,10 +15,10 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement;
@@ -50,13 +50,13 @@ public class ClassificationDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public ClassificationDetailElement(CdmFormFactory formFactory,
+	public ClassificationDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailSection.java
index aaa45514c..1d77823ab 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailSection.java
@@ -14,9 +14,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.Classification;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -31,13 +31,13 @@ public class ClassificationDetailSection extends AbstractCdmDetailSection<Classi
 	/**
 	 * <p>Constructor for ClassificationDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public ClassificationDetailSection(CdmFormFactory formFactory,
+	public ClassificationDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationWizardPage.java
index b1974fce5..19b847468 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationWizardPage.java
@@ -15,9 +15,9 @@ import org.eclipse.swt.SWT;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class ClassificationWizardPage extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -46,7 +46,7 @@ public class ClassificationWizardPage extends
 	 * @param entity
 	 *            a {@link eu.etaxonomy.cdm.model.taxon.TaxonomicTree} object.
 	 */
-	public ClassificationWizardPage(CdmFormFactory formFactory,
+	public ClassificationWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, Classification entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Classification");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java
index 12e576ab7..5b5132b7e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java
@@ -19,9 +19,9 @@ import eu.etaxonomy.cdm.model.taxon.ITreeNode;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.taxeditor.parser.ParseHandler;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -69,13 +69,13 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<ITreeNode>
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public TaxonNodeDetailElement(CdmFormFactory formFactory,
+	public TaxonNodeDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailSection.java
index 4489c373a..d73ea3bb0 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailSection.java
@@ -14,9 +14,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -40,13 +40,13 @@ public class TaxonNodeDetailSection extends AbstractCdmDetailSection<TaxonNode>
 	/**
 	 * <p>Constructor for TaxonNodeDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public TaxonNodeDetailSection(CdmFormFactory formFactory,
+	public TaxonNodeDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java
index 5e5614d8b..3ec0c4f92 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java
@@ -16,9 +16,9 @@ import org.eclipse.swt.SWT;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.ITreeNode;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class TaxonNodeWizardPage extends AbstractCdmEntityWizardPage<ITreeNode>
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -46,7 +46,7 @@ public class TaxonNodeWizardPage extends AbstractCdmEntityWizardPage<ITreeNode>
 	 * @param entity
 	 *            a {@link eu.etaxonomy.cdm.model.taxon.ITreeNode} object.
 	 */
-	public TaxonNodeWizardPage(CdmFormFactory formFactory,
+	public TaxonNodeWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ITreeNode entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Create a new Taxon");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DerivedUnitElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DerivedUnitElement.java
index 1b02a224a..3d5e5d8b0 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DerivedUnitElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DerivedUnitElement.java
@@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.description;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement;
@@ -41,7 +41,7 @@ public class DerivedUnitElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param section
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -55,7 +55,7 @@ public class DerivedUnitElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public DerivedUnitElement(CdmFormFactory formFactory,
+	public DerivedUnitElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, SpecimenOrObservationBase entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java
index ca19c9f3f..40868e708 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java
@@ -16,7 +16,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -32,12 +32,12 @@ public class DescribedSpecimenSection extends AbstractEntityCollectionSection<Ta
 	/**
 	 * <p>Constructor for DescribedSpecimenSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public DescribedSpecimenSection(CdmFormFactory formFactory,
+	public DescribedSpecimenSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "Described Specimen", style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java
index 04ac09ab3..d97e970f9 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.selection.FeatureTreeSelectionElement;
@@ -35,11 +35,11 @@ public class DescriptionDetailElement extends AbstractCdmDetailElement<Descripti
 	/**
 	 * <p>Constructor for DescriptionDetailElement.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public DescriptionDetailElement(CdmFormFactory cdmFormFactory,
+	public DescriptionDetailElement(CdmFormFactoryFacade cdmFormFactory,
 			ICdmFormElement formElement, int style) {
 		super(cdmFormFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailSection.java
index 75730c996..44e4adfbf 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailSection.java
@@ -15,9 +15,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -35,13 +35,13 @@ public class DescriptionDetailSection extends AbstractCdmDetailSection<Descripti
 	/**
 	 * <p>Constructor for DescriptionDetailSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public DescriptionDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+	public DescriptionDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 		
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailElement.java
index 859eb72c2..5e35b1094 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.section.description;
 import org.apache.log4j.Logger;
 
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement;
@@ -36,11 +36,11 @@ public class DescriptionElementDetailElement extends
 	/**
 	 * <p>Constructor for DescriptionElementDetailElement.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public DescriptionElementDetailElement(CdmFormFactory cdmFormFactory,
+	public DescriptionElementDetailElement(CdmFormFactoryFacade cdmFormFactory,
 			ICdmFormElement formElement, int style) {
 		super(cdmFormFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailSection.java
index 463a5dc18..67637826f 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailSection.java
@@ -19,11 +19,11 @@ import org.eclipse.swt.widgets.Control;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.TextData;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.description.operation.ChangeDescriptionElementType;
 
@@ -40,13 +40,13 @@ public class DescriptionElementDetailSection extends
 	/**
 	 * <p>Constructor for DescriptionElementDetailSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public DescriptionElementDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+	public DescriptionElementDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java
index a5ec37f96..17eb21fbd 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java
@@ -18,7 +18,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -37,12 +37,12 @@ public class DescriptionElementMediaSection extends
 	/**
 	 * <p>Constructor for DescriptionElementMediaSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public DescriptionElementMediaSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+	public DescriptionElementMediaSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Media", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java
index ebfbd0124..6b17951e2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java
@@ -15,14 +15,14 @@ import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEntityElement;
 import eu.etaxonomy.taxeditor.ui.forms.SelectionArbitrator;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractOriginalSourceElement;
 import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 /**
  * <p>
  * DescriptionElementSourceElement class.
@@ -58,10 +58,10 @@ public class DescriptionElementSourceElement extends
 	 * @param style
 	 *            a int.
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 */
-	public DescriptionElementSourceElement(CdmFormFactory cdmFormFactory,
+	public DescriptionElementSourceElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection formElement, DescriptionElementSource element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, element, removeListener, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java
index 1bd4128fb..585d798e4 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java
@@ -9,7 +9,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -27,10 +27,10 @@ public class DescriptionElementSourceSection extends AbstractEntityCollectionSec
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public DescriptionElementSourceSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style){
+	public DescriptionElementSourceSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style){
 		super(cdmFormFactory, conversation, parentElement, "References", style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceElement.java
index e09132151..4542b5e93 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceElement.java
@@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.description;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement;
@@ -40,7 +40,7 @@ public class DescriptionSourceElement extends
 	 * </p>
 	 * 
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -53,7 +53,7 @@ public class DescriptionSourceElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public DescriptionSourceElement(CdmFormFactory cdmFormFactory,
+	public DescriptionSourceElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection formElement, Reference element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, element, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java
index 6eab9b730..d61892ba1 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java
@@ -15,7 +15,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -32,12 +32,12 @@ public class DescriptionSourceSection extends
 	/**
 	 * <p>Constructor for DescriptionSourceSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public DescriptionSourceSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+	public DescriptionSourceSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Description Sources", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeElement.java
index 10b2c5a89..918902f10 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeElement.java
@@ -13,8 +13,8 @@ package eu.etaxonomy.taxeditor.ui.section.description;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 
@@ -30,13 +30,13 @@ public class GeoScopeElement extends AbstractEntityCollectionElement<NamedArea>
 	/**
 	 * <p>Constructor for GeoScopeElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.location.NamedArea} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 */
-	public GeoScopeElement(CdmFormFactory formFactory,
+	public GeoScopeElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, NamedArea entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java
index 2522700a1..a6526b81e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java
@@ -17,7 +17,7 @@ import org.apache.log4j.Logger;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -37,12 +37,12 @@ public class GeoScopeSection extends AbstractEntityCollectionSection<TaxonDescri
 	/**
 	 * <p>Constructor for GeoScopeSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public GeoScopeSection(CdmFormFactory formFactory,
+	public GeoScopeSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(formFactory, conversation, parentElement, "Geo Scope", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java
index 53749d28a..d9473bfb1 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java
@@ -17,9 +17,9 @@ import org.eclipse.ui.forms.widgets.TableWrapLayout;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
 
@@ -40,13 +40,13 @@ public class MediaDetailsSection extends AbstractCdmDetailSection<Media> {
 	/**
 	 * <p>Constructor for MediaDetailsSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public MediaDetailsSection(CdmFormFactory formFactory, ConversationHolder conversation,
+	public MediaDetailsSection(CdmFormFactoryFacade formFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java
index acf9ff621..db5a7ba1a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java
@@ -13,10 +13,10 @@ package eu.etaxonomy.taxeditor.ui.section.description;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.description.Modifier;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.term.ModifierComboElement;
 
@@ -34,13 +34,13 @@ public class ModifierElement extends AbstractEntityCollectionElement<Modifier> {
 	/**
 	 * <p>Constructor for ModifierElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.description.Modifier} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 */
-	public ModifierElement(CdmFormFactory formFactory,
+	public ModifierElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, Modifier entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java
index 4b8053f6c..89d7adb7a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java
@@ -17,7 +17,7 @@ import org.apache.log4j.Logger;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.IModifiable;
 import eu.etaxonomy.cdm.model.description.Modifier;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -37,12 +37,12 @@ public class ModifierSection extends AbstractEntityCollectionSection<IModifiable
 	/**
 	 * <p>Constructor for ModifierSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public ModifierSection(CdmFormFactory formFactory,
+	public ModifierSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "Modifiers", style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageDetailElement.java
index 4bc8fd5f7..0b808f91a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageDetailElement.java
@@ -25,9 +25,9 @@ import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.description.TextData;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.LabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -49,10 +49,10 @@ public class NaturalLanguageDetailElement extends AbstractCdmDetailElement<Taxon
 	/**
 	 * <p>Constructor for NaturalLanguageDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public NaturalLanguageDetailElement(CdmFormFactory formFactory,
+	public NaturalLanguageDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageSection.java
index d576f5d5d..e773d47fe 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageSection.java
@@ -15,9 +15,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -36,13 +36,13 @@ public class NaturalLanguageSection extends AbstractCdmDetailSection<TaxonDescri
 	/**
 	 * <p>Constructor for NaturalLanguageSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public NaturalLanguageSection(CdmFormFactory formFactory,
+	public NaturalLanguageSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java
index 181eb204b..0924933e7 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java
@@ -14,10 +14,10 @@ import org.apache.log4j.Logger;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.description.Scope;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.term.ScopeComboElement;
 
@@ -36,13 +36,13 @@ public class ScopeElement extends AbstractEntityCollectionElement<Scope> {
 	/**
 	 * <p>Constructor for ScopeElement.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param element a {@link eu.etaxonomy.cdm.model.description.Scope} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 */
-	public ScopeElement(CdmFormFactory cdmFormFactory,
+	public ScopeElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection section, Scope element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, section, element, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java
index e3dd9c323..899930ca5 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java
@@ -17,7 +17,7 @@ import org.apache.log4j.Logger;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.Scope;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -36,12 +36,12 @@ public class ScopeSection extends AbstractEntityCollectionSection<TaxonDescripti
 	/**
 	 * <p>Constructor for ScopeSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public ScopeSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public ScopeSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Scope", style);
 	}
 	
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java
index d89cb99ce..09b57706d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java
@@ -17,12 +17,12 @@ import org.eclipse.ui.forms.widgets.Section;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.description.State;
 import eu.etaxonomy.cdm.model.description.StateData;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement;
@@ -45,13 +45,13 @@ public class StateDataElement extends AbstractEntityCollectionElement<StateData>
 	/**
 	 * <p>Constructor for StateDataElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.description.StateData} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 */
-	public StateDataElement(CdmFormFactory formFactory,
+	public StateDataElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, StateData entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
@@ -72,7 +72,7 @@ public class StateDataElement extends AbstractEntityCollectionElement<StateData>
 	public void createControls(ICdmFormElement element, int style) {
 		combo_state = formFactory.createTermComboElement(TermComboType.STATE, element, "State", null, style);
 		section_modifiers = (ModifierSection) formFactory.createEntityDetailSection(EntityDetailType.MODIFIER, getConversationHolder(), element, Section.TWISTIE);
-		section_modifiers.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_modifiers.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		text_modifyingText = formFactory.createTextWithLabelElement(element, "Modifying Text", null, style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java
index db44b0cab..dd0f45c48 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java
@@ -17,7 +17,7 @@ import org.apache.log4j.Logger;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.CategoricalData;
 import eu.etaxonomy.cdm.model.description.StateData;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -37,12 +37,12 @@ public class StateDataSection extends AbstractEntityCollectionSection<Categorica
 	/**
 	 * <p>Constructor for StateDataSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public StateDataSection(CdmFormFactory formFactory,
+	public StateDataSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "State Data", style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java
index 3714ceddc..6148c934d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java
@@ -15,11 +15,11 @@ import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.term.StatisticalMeasureComboElement;
@@ -44,13 +44,13 @@ public class StatisticalMeasurementValueElement extends
 	/**
 	 * <p>Constructor for StatisticalMeasurementValueElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 */
-	public StatisticalMeasurementValueElement(CdmFormFactory formFactory,
+	public StatisticalMeasurementValueElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, StatisticalMeasurementValue entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
@@ -71,7 +71,7 @@ public class StatisticalMeasurementValueElement extends
 		number_value = formFactory.createFloatTextWithLabelElement(element, "Value", 0, style);
 		combo_type = (StatisticalMeasureComboElement) formFactory.createTermComboElement(TermComboType.STATISTICAL_MEASURE, element, "Statistical Measure", null, style);
 		section_modifiers = (ModifierSection) formFactory.createEntityDetailSection(EntityDetailType.MODIFIER, getConversationHolder(), element, Section.TWISTIE);
-		section_modifiers.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_modifiers.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 	}
 
 	/** {@inheritDoc} */
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java
index f5628127b..844531ce8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java
@@ -17,7 +17,7 @@ import org.apache.log4j.Logger;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.QuantitativeData;
 import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -38,12 +38,12 @@ public class StatisticalMeasurementValueSection extends
 	/**
 	 * <p>Constructor for StatisticalMeasurementValueSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public StatisticalMeasurementValueSection(CdmFormFactory formFactory,
+	public StatisticalMeasurementValueSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "Statistical Measurement Value", style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java
index 4356d0f96..4e1c4cf31 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail;
 import org.apache.log4j.Logger;
 
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -32,13 +32,13 @@ public abstract class AbstractDetailedDescriptionDetailElement<T extends Descrip
 	/**
 	 * <p>Constructor for AbstractDetailedDescriptionDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param entity a T object.
 	 * @param style a int.
 	 * @param <T> a T object.
 	 */
-	public AbstractDetailedDescriptionDetailElement(CdmFormFactory formFactory,
+	public AbstractDetailedDescriptionDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, T entity, int style) {
 		super(formFactory, formElement);
 		setEntity(entity);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java
index 01e0f3b09..8a1e0d977 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java
@@ -6,10 +6,10 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail;
 import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.model.description.CategoricalData;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
 import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection;
 
 /**
@@ -26,12 +26,12 @@ public class CategoricalDataDetailElement extends AbstractDetailedDescriptionDet
 	/**
 	 * <p>Constructor for CategoricalDataDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.description.CategoricalData} object.
 	 * @param style a int.
 	 */
-	public CategoricalDataDetailElement(CdmFormFactory formFactory,
+	public CategoricalDataDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, CategoricalData entity, int style) {
 		super(formFactory, formElement, entity, style);
 	}
@@ -43,7 +43,7 @@ public class CategoricalDataDetailElement extends AbstractDetailedDescriptionDet
 		checkbox_orderRelevant = formFactory.createCheckbox(formElement, "Order Relevant", entity.getOrderRelevant(), style);
 		section_stateData = (StateDataSection) formFactory.createEntityDetailSection(EntityDetailType.STATE_DATA, getConversationHolder(), formElement, Section.TWISTIE | Section.EXPANDED);
 		section_stateData.setEntity(entity);
-		section_stateData.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_stateData.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 	}
 	
 	/** {@inheritDoc} */
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java
index 4531f2384..a0bc95f22 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java
@@ -14,9 +14,9 @@ import org.apache.log4j.Logger;
 import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.model.description.CommonTaxonName;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement;
 import eu.etaxonomy.taxeditor.ui.term.LanguageComboElement;
@@ -41,12 +41,12 @@ public class CommonNameDetailElement extends AbstractDetailedDescriptionDetailEl
 	/**
 	 * <p>Constructor for CommonNameDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.description.CommonTaxonName} object.
 	 * @param style a int.
 	 */
-	public CommonNameDetailElement(CdmFormFactory formFactory,
+	public CommonNameDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, CommonTaxonName entity, int style) {
 		super(formFactory, formElement, entity, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java
index a6836a9bd..4b17a2ef8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java
@@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail;
 import org.apache.log4j.Logger;
 
 import eu.etaxonomy.cdm.model.description.Distribution;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement;
 import eu.etaxonomy.taxeditor.ui.term.PresenceAbsenceTermComboElement;
 
@@ -38,12 +38,12 @@ public class DistributionDetailElement extends
 	/**
 	 * <p>Constructor for DistributionDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.description.Distribution} object.
 	 * @param style a int.
 	 */
-	public DistributionDetailElement(CdmFormFactory formFactory,
+	public DistributionDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, Distribution entity, int style) {
 		super(formFactory, formElement, entity, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java
index 49ee20436..58047d4fd 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java
@@ -17,10 +17,10 @@ import org.apache.log4j.Logger;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.selection.DerivedUnitBaseSelectionElement;
 
@@ -47,7 +47,7 @@ public class IndividualsAssociationDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -59,7 +59,7 @@ public class IndividualsAssociationDetailElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public IndividualsAssociationDetailElement(CdmFormFactory formFactory,
+	public IndividualsAssociationDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, IndividualsAssociation entity,
 			int style) {
 		super(formFactory, formElement, entity, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java
index 146d4f527..6f1261e5e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java
@@ -6,10 +6,10 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail;
 import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.model.description.QuantitativeData;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueSection;
 import eu.etaxonomy.taxeditor.ui.term.MeasurementUnitComboElement;
 
@@ -28,12 +28,12 @@ public class QuantitativeDataDetailElement extends
 	/**
 	 * <p>Constructor for QuantitativeDataDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.description.QuantitativeData} object.
 	 * @param style a int.
 	 */
-	public QuantitativeDataDetailElement(CdmFormFactory formFactory,
+	public QuantitativeDataDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, QuantitativeData entity, int style) {
 		super(formFactory, formElement, entity, style);
 	}
@@ -45,7 +45,7 @@ public class QuantitativeDataDetailElement extends
 		combo_mesaurementUnit = (MeasurementUnitComboElement) formFactory.createTermComboElement(TermComboType.MEASUREMENT_UNIT, formElement, "Measurement Unit", entity.getUnit(), style);
 		section_statisticalMeasurementValues = (StatisticalMeasurementValueSection) formFactory.createEntityDetailSection(EntityDetailType.STATISTICAL_MEASUREMENT_VALUE, getConversationHolder(), formElement, Section.TWISTIE | Section.EXPANDED);
 		section_statisticalMeasurementValues.setEntity(entity);
-		section_statisticalMeasurementValues.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_statisticalMeasurementValues.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 	}
 	
 	/* (non-Javadoc)
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java
index 8d32c42e2..1e66c4c05 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java
@@ -13,10 +13,10 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail;
 import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.model.description.TaxonInteraction;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement;
 
@@ -41,7 +41,7 @@ public class TaxonInteractionDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -52,7 +52,7 @@ public class TaxonInteractionDetailElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public TaxonInteractionDetailElement(CdmFormFactory formFactory,
+	public TaxonInteractionDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, TaxonInteraction entity, int style) {
 		super(formFactory, formElement, entity, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TextDataDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TextDataDetailElement.java
index bda5525a7..83587a247 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TextDataDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TextDataDetailElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail;
 import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.model.description.TextData;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement;
 
@@ -31,12 +31,12 @@ public class TextDataDetailElement extends AbstractDetailedDescriptionDetailElem
 	/**
 	 * <p>Constructor for TextDataDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.description.TextData} object.
 	 * @param style a int.
 	 */
-	public TextDataDetailElement(CdmFormFactory formFactory,
+	public TextDataDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement, TextData entity, int style) {
 		super(formFactory, formElement, entity, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java
index 1d57b686c..69869a3bb 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java
@@ -30,9 +30,9 @@ import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
 import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
 import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.forms.BrowserElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -50,10 +50,10 @@ public class FeatureDistributionDetailElement extends AbstractCdmDetailElement<F
 	/**
 	 * <p>Constructor for FeatureDistributionDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public FeatureDistributionDetailElement(CdmFormFactory formFactory,
+	public FeatureDistributionDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
@@ -86,7 +86,7 @@ public class FeatureDistributionDetailElement extends AbstractCdmDetailElement<F
 		
 		Label label = formFactory.createLabel(getLayoutComposite(), message, SWT.WRAP);
 		addControl(label);
-		label.setLayoutData(CdmFormFactory.FILL(2, 1));
+		label.setLayoutData(CdmFormFactoryFacade.FILL(2, 1));
 	}
 
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java
index 2ff2bfa9a..7a1662f28 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java
@@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
@@ -31,13 +31,13 @@ public class FeatureDistributionDetailSection extends AbstractCdmDetailSection<F
 	/**
 	 * <p>Constructor for FeatureDistributionDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public FeatureDistributionDetailSection(CdmFormFactory formFactory,
+	public FeatureDistributionDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GrantedAuthorityDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GrantedAuthorityDetailElement.java
index 402c61bfd..595d9963c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GrantedAuthorityDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GrantedAuthorityDetailElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Color;
 import org.springframework.security.core.GrantedAuthority;
 
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 
@@ -34,7 +34,7 @@ public class GrantedAuthorityDetailElement extends AbstractEntityCollectionEleme
 	 * @param backgroundColor
 	 * @param style
 	 */
-	public GrantedAuthorityDetailElement(CdmFormFactory formFactory,
+	public GrantedAuthorityDetailElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, GrantedAuthority entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GrantedAuthorityDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GrantedAuthorityDetailSection.java
index 23d40259d..e5abf8a77 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GrantedAuthorityDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GrantedAuthorityDetailSection.java
@@ -16,8 +16,8 @@ import org.springframework.security.core.GrantedAuthority;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Group;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -36,7 +36,7 @@ public class GrantedAuthorityDetailSection extends
 	 * @param title
 	 * @param style
 	 */
-	public GrantedAuthorityDetailSection(CdmFormFactory formFactory,
+	public GrantedAuthorityDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "Granted Authorities",
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailElement.java
index 5ea320bfe..0a1be375e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailElement.java
@@ -11,8 +11,8 @@
 package eu.etaxonomy.taxeditor.ui.section.group;
 
 import eu.etaxonomy.cdm.model.common.Group;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -29,7 +29,7 @@ public class GroupDetailElement extends AbstractCdmDetailElement<Group> {
 	 * @param formFactory
 	 * @param formElement
 	 */
-	public GroupDetailElement(CdmFormFactory formFactory,
+	public GroupDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailSection.java
index c7bc8a4a0..ad830f023 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailSection.java
@@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Group;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
@@ -33,7 +33,7 @@ public class GroupDetailSection extends AbstractCdmDetailSection<Group> {
 	 * @param selectionProvider
 	 * @param style
 	 */
-	public GroupDetailSection(CdmFormFactory formFactory,
+	public GroupDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailWizardPage.java
index 42ef280fb..6a1e260d4 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailWizardPage.java
@@ -14,10 +14,10 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Group;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
 /**
@@ -32,7 +32,7 @@ public class GroupDetailWizardPage  extends AbstractCdmEntityWizardPage<Group>{
 	 * @param conversation
 	 * @param entity
 	 */
-	public GroupDetailWizardPage(CdmFormFactory formFactory,
+	public GroupDetailWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, Group entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Group");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java
index 612458e1e..748ab66af 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java
@@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.group;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.UserSelectionElement;
@@ -37,7 +37,7 @@ public class MemberDetailElement extends AbstractEntityCollectionElement<User> {
 	 * @param backgroundColor
 	 * @param style
 	 */
-	public MemberDetailElement(CdmFormFactory formFactory,
+	public MemberDetailElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, User entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java
index cbf431103..213a9e010 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java
@@ -15,8 +15,8 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.UserSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -34,7 +34,7 @@ public class MemberDetailSection extends AbstractEntityCollectionSection<Group,
 	 * @param title
 	 * @param style
 	 */
-	public MemberDetailSection(CdmFormFactory formFactory,
+	public MemberDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "Members", style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java
index 02f0803b1..8edd7b79e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java
@@ -8,7 +8,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.IIdentificationKey;
 import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -19,7 +19,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 public class GeographicalScopeDetailSection extends
 	AbstractEntityCollectionSection<IIdentificationKey, NamedArea> {
 
-	public GeographicalScopeDetailSection(CdmFormFactory formFactory,
+	public GeographicalScopeDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(formFactory, conversation, parentElement, "Geographical Scope", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java
index 39d959452..7ff453eeb 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java
@@ -6,7 +6,7 @@ package eu.etaxonomy.taxeditor.ui.section.key;
 import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
@@ -20,7 +20,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement
 public class PolytomousKeyDetailElement extends
 		AbstractIdentifiableEntityDetailElement<PolytomousKey> {
 
-	public PolytomousKeyDetailElement(CdmFormFactory formFactory,
+	public PolytomousKeyDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java
index a6c6908ac..a6e1c6765 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java
@@ -7,9 +7,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -18,7 +18,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
  */
 public class PolytomousKeyDetailSection extends AbstractCdmDetailSection<PolytomousKey> {
 
-	public PolytomousKeyDetailSection(CdmFormFactory formFactory,
+	public PolytomousKeyDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java
index fcf39b2e6..acaf34d9f 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java
@@ -4,9 +4,9 @@
 package eu.etaxonomy.taxeditor.ui.section.key;
 
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.KeyStatementElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -34,7 +34,7 @@ public class PolytomousKeyNodeDetailElement extends
 
 	private KeyStatementElement element_question;
 
-	public PolytomousKeyNodeDetailElement(CdmFormFactory formFactory,
+	public PolytomousKeyNodeDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java
index db99a9917..9868d57a3 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java
@@ -7,9 +7,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -18,7 +18,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
  */
 public class PolytomousKeyNodeDetailSection extends AbstractCdmDetailSection<PolytomousKeyNode> {
 
-	public PolytomousKeyNodeDetailSection(CdmFormFactory formFactory,
+	public PolytomousKeyNodeDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java
index cac2c9d66..f464c2be8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java
@@ -8,7 +8,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
 import eu.etaxonomy.cdm.model.description.Scope;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -18,7 +18,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
  */
 public class ScopeRestrictionSection extends AbstractEntityCollectionSection<PolytomousKey, Scope> {
 
-	public ScopeRestrictionSection(CdmFormFactory formFactory,
+	public ScopeRestrictionSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(formFactory, conversation, parentElement, "Scope Restriction", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java
index fb3b341f5..ee9ee373c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java
@@ -15,8 +15,8 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.TaxonBaseSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -35,7 +35,7 @@ public class TaxonomicScopeSection extends
 	 * @param title
 	 * @param style
 	 */
-	public TaxonomicScopeSection(CdmFormFactory formFactory,
+	public TaxonomicScopeSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "Taxonomic Scope",
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/AbstractMediaRepresentationPartElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/AbstractMediaRepresentationPartElement.java
index 90ea95912..f318ec11c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/AbstractMediaRepresentationPartElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/AbstractMediaRepresentationPartElement.java
@@ -14,10 +14,10 @@ import org.apache.log4j.Logger;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 
@@ -40,14 +40,14 @@ public abstract class AbstractMediaRepresentationPartElement<T extends MediaRepr
 	/**
 	 * <p>Constructor for AbstractMediaRepresentationPartElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param element a T object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 * @param <T> a T object.
 	 */
-	public AbstractMediaRepresentationPartElement(CdmFormFactory formFactory,
+	public AbstractMediaRepresentationPartElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section,
 			T element, SelectionListener removeListener,
 			int style) {
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java
index fd0c88f61..a119272d2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java
@@ -20,10 +20,10 @@ import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.common.media.ImageInfo;
 import eu.etaxonomy.cdm.model.media.ImageFile;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.ImageElement;
@@ -56,13 +56,13 @@ public class ImageFileElement extends AbstractMediaRepresentationPartElement<Ima
 	/**
 	 * <p>Constructor for ImageFileElement.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param element a {@link eu.etaxonomy.cdm.model.media.ImageFile} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 */
-	public ImageFileElement(CdmFormFactory cdmFormFactory,
+	public ImageFileElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection section, ImageFile element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, section, element, removeListener, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java
index 5176fbb04..360a45ae5 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java
@@ -9,12 +9,12 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.LanguageStringWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
@@ -51,10 +51,10 @@ public class MediaElement extends AbstractEntityCollectionElement<Media> {
 	 * @param style
 	 *            a int.
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 */
-	public MediaElement(CdmFormFactory cdmFormFactory,
+	public MediaElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection formElement, Media element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, element, removeListener, null, style);
@@ -82,7 +82,7 @@ public class MediaElement extends AbstractEntityCollectionElement<Media> {
 				.createEntityDetailSection(
 						EntityDetailType.MEDIAREPRESENTATION,
 						getConversationHolder(), element, style);
-		section_mediaRepresentation.setLayoutData(CdmFormFactory
+		section_mediaRepresentation.setLayoutData(CdmFormFactoryFacade
 				.FILL_HORIZONTALLY(2, 1));
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java
index 617a0b6ac..482403813 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java
@@ -21,11 +21,11 @@ import eu.etaxonomy.cdm.common.media.ImageInfo;
 import eu.etaxonomy.cdm.model.media.ImageFile;
 import eu.etaxonomy.cdm.model.media.MediaRepresentation;
 import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 
@@ -45,13 +45,13 @@ public class MediaRepresentationElement extends AbstractEntityCollectionElement<
 	/**
 	 * <p>Constructor for MediaRepresentationElement.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param element a {@link eu.etaxonomy.cdm.model.media.MediaRepresentation} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 */
-	public MediaRepresentationElement(CdmFormFactory cdmFormFactory,
+	public MediaRepresentationElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection section,
 			MediaRepresentation element, SelectionListener removeListener,
 			int style) {
@@ -67,7 +67,7 @@ public class MediaRepresentationElement extends AbstractEntityCollectionElement<
 		text_mimeType = formFactory.createTextWithLabelElement(element, "Mime Type", null, style);
 		text_suffix = formFactory.createTextWithLabelElement(element, "Suffix", null, style);
 		section_mediaRepresentationPart = (MediaRepresentationPartSection) formFactory.createEntityDetailSection(EntityDetailType.MEDIAREPRESENTATIONPART, getConversationHolder(), element, style);
-		section_mediaRepresentationPart.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_mediaRepresentationPart.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 	}
 
 	/** {@inheritDoc} */
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java
index a1207657b..7baba5241 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java
@@ -9,7 +9,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.media.ImageFile;
 import eu.etaxonomy.cdm.model.media.MediaRepresentation;
 import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
@@ -26,12 +26,12 @@ public class MediaRepresentationPartSection extends
 	/**
 	 * <p>Constructor for MediaRepresentationPartSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public MediaRepresentationPartSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+	public MediaRepresentationPartSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Media Representation Part", style);
 		formFactory.addPropertyChangeListener(this);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java
index fda9be848..3503204e8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java
@@ -15,7 +15,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.model.media.MediaRepresentation;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -31,12 +31,12 @@ public class MediaRepresentationSection extends AbstractEntityCollectionSection<
 	/**
 	 * <p>Constructor for MediaRepresentationSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public MediaRepresentationSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+	public MediaRepresentationSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Media Representation", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java
index c6b27b711..3acacb719 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java
@@ -9,7 +9,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;
 import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -26,10 +26,10 @@ public class MediaSection extends AbstractEntityCollectionSection<IdentifiableMe
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public MediaSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public MediaSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Media", style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java
index 463bba892..4992e1f67 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java
@@ -14,8 +14,8 @@ import org.apache.log4j.Logger;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractReferencedEntityElement;
@@ -37,14 +37,14 @@ public abstract class AbstractTypeDesignationElement<T extends TypeDesignationBa
 	/**
 	 * <p>Constructor for AbstractTypeDesignationElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param entity a T object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 * @param <T> a T object.
 	 */
-	public AbstractTypeDesignationElement(CdmFormFactory formFactory,
+	public AbstractTypeDesignationElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, T entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java
index f210ebd88..e7dd18283 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java
@@ -15,8 +15,8 @@ import java.util.Arrays;
 import eu.etaxonomy.cdm.model.agent.INomenclaturalAuthor;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.taxeditor.model.AuthorHelper;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement;
@@ -49,7 +49,7 @@ public class AuthorshipDetailElement extends
 	 * </p>
 	 * 
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -57,7 +57,7 @@ public class AuthorshipDetailElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public AuthorshipDetailElement(CdmFormFactory cdmFormFactory,
+	public AuthorshipDetailElement(CdmFormFactoryFacade cdmFormFactory,
 			ICdmFormElement formElement, int style) {
 		super(cdmFormFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailSection.java
index c79dfd807..f713b4c09 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailSection.java
@@ -16,9 +16,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
@@ -38,11 +38,11 @@ public class AuthorshipDetailSection extends AbstractCdmDetailSection<NonViralNa
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 */
-	public AuthorshipDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
+	public AuthorshipDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java
index 6cb687c41..66d3e4d5e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java
@@ -11,7 +11,7 @@
 package eu.etaxonomy.taxeditor.ui.section.name;
 
 import eu.etaxonomy.cdm.model.name.NonViralName;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
@@ -32,7 +32,7 @@ public class HybridDetailElement extends AbstractCdmDetailElement<NonViralName>
 	 * @param formFactory
 	 * @param formElement
 	 */
-	public HybridDetailElement(CdmFormFactory formFactory,
+	public HybridDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailSection.java
index cf653f578..36bed4807 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailSection.java
@@ -17,9 +17,9 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
@@ -40,7 +40,7 @@ public class HybridDetailSection extends AbstractCdmDetailSection<TaxonNameBase>
 	 * @param selectionProvider
 	 * @param style
 	 */
-	public HybridDetailSection(CdmFormFactory formFactory,
+	public HybridDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java
index df1b51c03..f031c80bb 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java
@@ -19,10 +19,10 @@ import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.name.Rank;
 import eu.etaxonomy.cdm.model.name.ZoologicalName;
 import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement;
@@ -56,11 +56,11 @@ public class NameDetailElement extends AbstractIdentifiableEntityDetailElement<N
 	/**
 	 * <p>Constructor for NameDetailElement.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public NameDetailElement(CdmFormFactory cdmFormFactory, ICdmFormElement formElement,
+	public NameDetailElement(CdmFormFactoryFacade cdmFormFactory, ICdmFormElement formElement,
 			int style) {
 		super(cdmFormFactory, formElement);
 		// register as selection listener
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailSection.java
index f1d41d64d..c7ac49937 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailSection.java
@@ -16,9 +16,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
@@ -38,11 +38,11 @@ public class NameDetailSection extends AbstractCdmDetailSection<NonViralName> im
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 */
-	public NameDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
+	public NameDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java
index 7077c6ee0..8cb65ec49 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java
@@ -15,10 +15,10 @@ import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Color;
 
 import eu.etaxonomy.cdm.model.name.NameRelationship;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.LabelElement;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractReferencedEntityElement;
@@ -42,13 +42,13 @@ public class NameRelationshipDetailElement extends AbstractReferencedEntityEleme
 	/**
 	 * <p>Constructor for NameRelationshipDetailElement.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.name.NameRelationship} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 */
-	public NameRelationshipDetailElement(CdmFormFactory cdmFormFactory,
+	public NameRelationshipDetailElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection formElement,
 			NameRelationship entity, SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, entity, removeListener, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java
index 7f824791f..1d6945724 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java
@@ -21,8 +21,8 @@ import eu.etaxonomy.cdm.model.name.NameRelationship;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
@@ -41,12 +41,12 @@ public class NameRelationshipDetailSection extends AbstractEntityCollectionSecti
 	/**
 	 * <p>Constructor for NameRelationshipDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public NameRelationshipDetailSection(CdmFormFactory formFactory, ConversationHolder conversation,
+	public NameRelationshipDetailSection(CdmFormFactoryFacade formFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, int style) {
 		super(formFactory, conversation, parentElement, "Name Relationship", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipWizardPage.java
index 3acdf74bb..4461b3f68 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipWizardPage.java
@@ -19,9 +19,9 @@ import org.eclipse.swt.widgets.Composite;
 import eu.etaxonomy.cdm.model.name.NameRelationship;
 import eu.etaxonomy.cdm.model.name.NameRelationshipType;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.RootElement;
 import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement;
 import eu.etaxonomy.taxeditor.ui.term.NameRelationshipTypeComboElement;
@@ -38,7 +38,7 @@ import eu.etaxonomy.taxeditor.ui.term.NameRelationshipTypeComboElement;
 public class NameRelationshipWizardPage extends WizardPage implements
 		IPropertyChangeListener {
 
-	private final CdmFormFactory formFactory;
+	private final CdmFormFactoryFacade formFactory;
 
 	private NameSelectionElement selection_relatedTo;
 
@@ -90,7 +90,7 @@ public class NameRelationshipWizardPage extends WizardPage implements
 
 		Composite control = formFactory.createComposite(parent);
 
-		control.setLayout(CdmFormFactory.LAYOUT(2, false));
+		control.setLayout(CdmFormFactoryFacade.LAYOUT(2, false));
 
 		rootElement = new RootElement(formFactory, control);
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java
index 4c489d62d..f5d66bfc0 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java
@@ -14,10 +14,10 @@ import org.apache.log4j.Logger;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement;
@@ -48,7 +48,7 @@ public class NameTypeDesignationElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param section
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -61,7 +61,7 @@ public class NameTypeDesignationElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public NameTypeDesignationElement(CdmFormFactory formFactory,
+	public NameTypeDesignationElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, NameTypeDesignation entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java
index 11c43a75f..609a70523 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java
@@ -14,10 +14,10 @@ import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEntityElement;
 import eu.etaxonomy.taxeditor.ui.forms.ISelectableElement;
@@ -47,9 +47,9 @@ public class NomenclaturalStatusElement extends AbstractReferencedEntityElement<
 	 * @param element a {@link eu.etaxonomy.cdm.model.name.NomenclaturalStatus} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 */
-	public NomenclaturalStatusElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement,
+	public NomenclaturalStatusElement(CdmFormFactoryFacade cdmFormFactory, AbstractFormSection formElement,
 			NomenclaturalStatus element, SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, element, removeListener, style);
 		selectionArbitrator = cdmFormFactory.createSelectionArbitrator(this);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java
index 1a8d5a05c..847276903 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java
@@ -18,7 +18,7 @@ import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
@@ -39,10 +39,10 @@ public class NomenclaturalStatusSection extends AbstractEntityCollectionSection<
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public NomenclaturalStatusSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
+	public NomenclaturalStatusSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(cdmFormFactory, conversation, parentElement, "Nomenclatural Status", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java
index d15dd2eb8..a4f54a31c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java
@@ -15,9 +15,9 @@ import java.util.Arrays;
 import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.model.name.NonViralName;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EnumComboType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EnumComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
@@ -46,13 +46,13 @@ public class NonViralNameDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public NonViralNameDetailElement(CdmFormFactory formFactory,
+	public NonViralNameDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
@@ -82,21 +82,21 @@ public class NonViralNameDetailElement extends
 		section_name = (NameDetailSection) formFactory.createCdmDetailSection(
 				DetailType.SCIENTIFICNAME, getConversationHolder(),
 				formElement, null, Section.TWISTIE | Section.EXPANDED);
-		section_name.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_name.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		addControl(section_name);
 		addElement(section_name);
 		section_author = (AuthorshipDetailSection) formFactory
 				.createCdmDetailSection(DetailType.AUTHORSHIP,
 						getConversationHolder(), formElement, null,
 						Section.TWISTIE | Section.EXPANDED);
-		section_author.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_author.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		addControl(section_author);
 		addElement(section_author);
 		
 		section_hybrid = (HybridDetailSection) formFactory.createCdmDetailSection(DetailType.HYBRID, 
 						getConversationHolder(), formElement, null, 
 						Section.TWISTIE);
-		section_hybrid.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_hybrid.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		addControl(section_hybrid);
 		addElement(section_hybrid);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java
index 3271866ff..89fda237a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java
@@ -20,11 +20,11 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
@@ -43,13 +43,13 @@ public class NonViralNameDetailSection extends AbstractCdmDetailSection<NonViral
 	/**
 	 * <p>Constructor for NonViralNameDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public NonViralNameDetailSection(CdmFormFactory formFactory, ConversationHolder conversation,
+	public NonViralNameDetailSection(CdmFormFactoryFacade formFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameWizardPage.java
index a6c52e0ac..89b55e4dd 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameWizardPage.java
@@ -15,10 +15,10 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.name.NonViralName;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
 /**
@@ -38,11 +38,11 @@ public class NonViralNameWizardPage extends AbstractCdmEntityWizardPage<NonViral
 	/**
 	 * <p>Constructor for NonViralNameWizardPage.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.name.NonViralName} object.
 	 */
-	public NonViralNameWizardPage(CdmFormFactory formFactory, ConversationHolder conversation,
+	public NonViralNameWizardPage(CdmFormFactoryFacade formFactory, ConversationHolder conversation,
 			NonViralName entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Name");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueElement.java
index 55f560f35..ef6f54515 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueElement.java
@@ -22,10 +22,10 @@ import eu.etaxonomy.cdm.model.media.MediaRepresentation;
 import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.ISelectableElement;
@@ -58,10 +58,10 @@ public class ProtologueElement extends AbstractEntityCollectionElement<Descripti
 	 * @param element a {@link eu.etaxonomy.cdm.model.description.DescriptionElementBase} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 */
-	public ProtologueElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, DescriptionElementBase element,
+	public ProtologueElement(CdmFormFactoryFacade cdmFormFactory, AbstractFormSection formElement, DescriptionElementBase element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, element, removeListener, null, style);
 		selectionArbitrator = cdmFormFactory.createSelectionArbitrator(this);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java
index 80dee4def..54f0bf6d1 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java
@@ -21,7 +21,7 @@ import eu.etaxonomy.cdm.model.description.TextData;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
@@ -40,12 +40,12 @@ public class ProtologueSection extends AbstractEntityCollectionSection<TaxonName
 	/**
 	 * <p>Constructor for ProtologueSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public ProtologueSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public ProtologueSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Protologues", style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java
index 5b2084e8c..c324e8552 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java
@@ -16,11 +16,11 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
 import eu.etaxonomy.cdm.model.occurrence.Specimen;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.selection.DerivedUnitBaseSelectionElement;
 import eu.etaxonomy.taxeditor.ui.term.SpecimenTypeDesignationStatusComboElement;
@@ -47,7 +47,7 @@ public class SpecimenTypeDesignationElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param section
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -60,7 +60,7 @@ public class SpecimenTypeDesignationElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public SpecimenTypeDesignationElement(CdmFormFactory formFactory,
+	public SpecimenTypeDesignationElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, SpecimenTypeDesignation entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java
index 8b40d8a0b..27f0fd302 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java
@@ -21,7 +21,7 @@ import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
@@ -40,12 +40,12 @@ public class TypeDesignationSection extends AbstractEntityCollectionSection<Taxo
 	/**
 	 * <p>Constructor for TypeDesignationSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public TypeDesignationSection(CdmFormFactory formFactory, ConversationHolder conversation,
+	public TypeDesignationSection(CdmFormFactoryFacade formFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, int style) {
 		super(formFactory, conversation, parentElement, "Type Designations", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java
index caaa50eb5..ab71af784 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -34,7 +34,7 @@ public abstract class AbstractDeterminationEventDetailSection extends
 	 * @param title
 	 * @param style
 	 */
-	public AbstractDeterminationEventDetailSection(CdmFormFactory formFactory,
+	public AbstractDeterminationEventDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String title, int style) {
 		super(formFactory, conversation, parentElement, title, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java
index 0a364de5b..8828ddc7a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java
@@ -13,10 +13,10 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.EventBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.TimePeriodElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
@@ -44,7 +44,7 @@ public abstract class AbstractEventDetailElement<T extends EventBase> extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param section
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -58,7 +58,7 @@ public abstract class AbstractEventDetailElement<T extends EventBase> extends
 	 * @param <T>
 	 *            a T object.
 	 */
-	public AbstractEventDetailElement(CdmFormFactory formFactory,
+	public AbstractEventDetailElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, T entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java
index 98c342a03..743ec6a0a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java
@@ -15,8 +15,8 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.NamedAreaSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -33,12 +33,12 @@ public class CollectingAreasDetailSection extends
 	/**
 	 * <p>Constructor for CollectingAreasDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public CollectingAreasDetailSection(CdmFormFactory formFactory,
+	public CollectingAreasDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(formFactory, conversation, parentElement, "Collecting Areas", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java
index 3e0e84f69..29140687c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java
@@ -11,9 +11,9 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -52,13 +52,13 @@ public class CollectionDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public CollectionDetailElement(CdmFormFactory formFactory,
+	public CollectionDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java
index b3408ba51..6291c43aa 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -32,11 +32,11 @@ public class CollectionWizardPage extends AbstractCdmEntityWizardPage<Collection
 	/**
 	 * <p>Constructor for CollectionWizardPage.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.occurrence.Collection} object.
 	 */
-	public CollectionWizardPage(CdmFormFactory formFactory,
+	public CollectionWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, Collection entity) {
 		super(formFactory, conversation, entity);
 		setPageComplete(true);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java
index f3e9ffb50..93a52743d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java
@@ -24,7 +24,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
 import eu.etaxonomy.taxeditor.model.ImageResources;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -41,7 +41,7 @@ public class CurrentDeterminationDetailSection extends
 	 * @param parentElement
 	 * @param style
 	 */
-	public CurrentDeterminationDetailSection(CdmFormFactory formFactory,
+	public CurrentDeterminationDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "Current Determination", style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java
index 3b5f6337a..e21453f74 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java
@@ -14,13 +14,13 @@ import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement;
@@ -62,13 +62,13 @@ public class DerivedUnitBaseDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public DerivedUnitBaseDetailElement(CdmFormFactory formFactory,
+	public DerivedUnitBaseDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
@@ -118,14 +118,14 @@ public class DerivedUnitBaseDetailElement extends
 						EntityDetailType.SPECIMEN_COLLECTION,
 						getConversationHolder(), formElement, Section.TWISTIE);
 		section_duplicates
-				.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+				.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		section_duplicates.setEntity(entity);
 
 		section_source = (SourceCollectionDetailSection) formFactory
 				.createEntityDetailSection(
 						EntityDetailType.IDENTIFIABLE_SOURCE_COLLECTION,
 						getConversationHolder(), formElement, Section.TWISTIE);
-		section_source.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_source.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		section_source.setEntity(entity);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java
index f15e6a49f..0db7e2a6f 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java
@@ -14,9 +14,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -31,13 +31,13 @@ public class DerivedUnitBaseDetailSection extends AbstractCdmDetailSection<Deriv
 	/**
 	 * <p>Constructor for DerivedUnitBaseDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public DerivedUnitBaseDetailSection(CdmFormFactory formFactory,
+	public DerivedUnitBaseDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java
index b9470a610..0cc0fc6e3 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -32,7 +32,7 @@ public class DerivedUnitBaseWizardPage extends AbstractCdmEntityWizardPage<Deriv
 	 * @param conversation
 	 * @param entity
 	 */
-	public DerivedUnitBaseWizardPage(CdmFormFactory formFactory,
+	public DerivedUnitBaseWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, DerivedUnitFacade entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Derived Unit Details");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java
index 103fa93c7..46b30e8f0 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java
@@ -16,10 +16,10 @@ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeConfigurator;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
@@ -44,10 +44,10 @@ public class DerivedUnitFacadeDetailElement extends AbstractCdmDetailElement<Der
 	/**
 	 * <p>Constructor for DerivedUnitFacadeDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public DerivedUnitFacadeDetailElement(CdmFormFactory formFactory,
+	public DerivedUnitFacadeDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 		configurator = DerivedUnitFacadeConfigurator.NewInstance();
@@ -119,22 +119,22 @@ public class DerivedUnitFacadeDetailElement extends AbstractCdmDetailElement<Der
 			DerivedUnitBase entity, int style) {
 		
 		section_general = (GeneralDetailSection) formFactory.createCdmDetailSection(DetailType.DERIVED_UNIT_GENERAL, getConversationHolder(), formElement, null, Section.TWISTIE | Section.EXPANDED);
-		section_general.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_general.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		addControl(section_general);
 		addElement(section_general);
 		
 		section_gatheringEvent = (GatheringEventDetailSection) formFactory.createCdmDetailSection(DetailType.GATHERING_EVENT, getConversationHolder(), formElement, null, Section.TWISTIE);
-		section_gatheringEvent.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_gatheringEvent.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		addControl(section_gatheringEvent);
 		addElement(section_gatheringEvent);
 		
 		section_fieldObservation = (FieldObservationDetailSection) formFactory.createCdmDetailSection(DetailType.FIELD_OBSERVATION, getConversationHolder(), formElement, null, Section.TWISTIE);
-		section_fieldObservation.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_fieldObservation.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		addControl(section_fieldObservation);
 		addElement(section_fieldObservation);
 		
 		section_derivedUnitBase = (DerivedUnitBaseDetailSection) formFactory.createCdmDetailSection(DetailType.DERIVED_UNIT, getConversationHolder(), formElement, null, Section.TWISTIE);
-		section_derivedUnitBase.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_derivedUnitBase.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		addControl(section_derivedUnitBase);
 		addElement(section_derivedUnitBase);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java
index d416f998b..02c9f7a72 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java
@@ -15,9 +15,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -36,13 +36,13 @@ public class DerivedUnitFacadeDetailSection extends AbstractCdmDetailSection<Der
 	/**
 	 * <p>Constructor for DerivedUnitFacadeDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public DerivedUnitFacadeDetailSection(CdmFormFactory formFactory, ConversationHolder conversation,
+	public DerivedUnitFacadeDetailSection(CdmFormFactoryFacade formFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java
index 609d57788..7fe0a49f6 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java
@@ -13,8 +13,8 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence;
 import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -33,7 +33,7 @@ public class DeterminationDetailElement extends AbstractCdmDetailElement<Derived
 	 * @param formFactory
 	 * @param formElement
 	 */
-	public DeterminationDetailElement(CdmFormFactory formFactory,
+	public DeterminationDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
@@ -49,14 +49,14 @@ public class DeterminationDetailElement extends AbstractCdmDetailElement<Derived
 				.createEntityDetailSection(
 						EntityDetailType.DETERMINATION_CURRENT,
 						getConversationHolder(), formElement, Section.EXPANDED);
-		section_currentDetermination.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_currentDetermination.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		section_currentDetermination.setEntity(entity);
 		
 		section_determinationHistory = (DeterminationHistoryDetailSection) formFactory
 											.createEntityDetailSection(
 													EntityDetailType.DETERMINATION_HISTORY,
 													getConversationHolder(), formElement, Section.TWISTIE);
-		section_determinationHistory.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+		section_determinationHistory.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(2, 1));
 		section_determinationHistory.setEntity(entity);
 		
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java
index 1fdfa604a..2ade9bc5b 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java
@@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
@@ -33,7 +33,7 @@ public class DeterminationDetailSection extends AbstractCdmDetailSection<Derived
 	 * @param selectionProvider
 	 * @param style
 	 */
-	public DeterminationDetailSection(CdmFormFactory formFactory,
+	public DeterminationDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java
index 8c51a2d86..e776dd01a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java
@@ -13,10 +13,10 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.selection.TaxonBaseSelectionElement;
@@ -47,7 +47,7 @@ public class DeterminationEventDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param section
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -60,7 +60,7 @@ public class DeterminationEventDetailElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public DeterminationEventDetailElement(CdmFormFactory formFactory,
+	public DeterminationEventDetailElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, DeterminationEvent entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java
index 7cb2fe9d8..b019ebae3 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java
@@ -15,7 +15,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -32,7 +32,7 @@ public class DeterminationHistoryDetailSection extends
 	 * @param parentElement
 	 * @param style
 	 */
-	public DeterminationHistoryDetailSection(CdmFormFactory formFactory,
+	public DeterminationHistoryDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "Determination History", style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java
index db6180820..10a185417 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java
@@ -11,11 +11,11 @@
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.term.SexComboElement;
@@ -47,10 +47,10 @@ public class FieldObservationDetailElement extends AbstractCdmDetailElement<Deri
 	/**
 	 * <p>Constructor for FieldObservationDetailElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public FieldObservationDetailElement(CdmFormFactory formFactory,
+	public FieldObservationDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailSection.java
index 32e64f570..e0e88281b 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailSection.java
@@ -14,9 +14,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -31,13 +31,13 @@ public class FieldObservationDetailSection extends AbstractCdmDetailSection<Deri
 	/**
 	 * <p>Constructor for FieldObservationDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public FieldObservationDetailSection(CdmFormFactory formFactory, ConversationHolder conversation,
+	public FieldObservationDetailSection(CdmFormFactoryFacade formFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationWizardPage.java
index 8b9ee4e97..0495bfd06 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationWizardPage.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -32,7 +32,7 @@ public class FieldObservationWizardPage extends AbstractCdmEntityWizardPage<Deri
 	 * @param conversation
 	 * @param entity
 	 */
-	public FieldObservationWizardPage(CdmFormFactory formFactory,
+	public FieldObservationWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, DerivedUnitFacade entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Field Observation Details");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java
index bd9eb427d..78f58cbd5 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java
@@ -14,11 +14,11 @@ import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -56,13 +56,13 @@ public class GatheringEventDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public GatheringEventDetailElement(CdmFormFactory formFactory,
+	public GatheringEventDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
@@ -106,7 +106,7 @@ public class GatheringEventDetailElement extends
 		section_collectingAreas = (CollectingAreasDetailSection) formFactory
 				.createEntityDetailSection(EntityDetailType.COLLECTING_AREA,
 						getConversationHolder(), formElement, Section.TWISTIE);
-		section_collectingAreas.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(
+		section_collectingAreas.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY(
 				2, 1));
 		section_collectingAreas.setEntity(entity);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java
index 2551f41f7..e3ddb52c8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java
@@ -14,9 +14,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -31,13 +31,13 @@ public class GatheringEventDetailSection extends AbstractCdmDetailSection<Derive
 	/**
 	 * <p>Constructor for GatheringEventDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public GatheringEventDetailSection(CdmFormFactory formFactory,
+	public GatheringEventDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java
index 71a5a86e0..c2cbe413f 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -32,7 +32,7 @@ public class GatheringEventWizardPage extends AbstractCdmEntityWizardPage<Derive
 	 * @param conversation
 	 * @param entity
 	 */
-	public GatheringEventWizardPage(CdmFormFactory formFactory,
+	public GatheringEventWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, DerivedUnitFacade entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Gathering Event Details");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailElement.java
index a52e0e12b..4447f6a4d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailElement.java
@@ -12,11 +12,11 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.common.LanguageString;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.LanguageStringWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.PointElement;
 import eu.etaxonomy.taxeditor.ui.forms.TimePeriodElement;
@@ -50,7 +50,7 @@ public class GeneralDetailElement extends
 	 * @param formFactory
 	 * @param formElement
 	 */
-	public GeneralDetailElement(CdmFormFactory formFactory,
+	public GeneralDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailSection.java
index 4b6235b6c..ff66c8b48 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailSection.java
@@ -14,9 +14,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -33,7 +33,7 @@ public class GeneralDetailSection extends AbstractCdmDetailSection<DerivedUnitFa
 	 * @param selectionProvider
 	 * @param style
 	 */
-	public GeneralDetailSection(CdmFormFactory formFactory,
+	public GeneralDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java
index c4a5299a8..75fb39e00 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -32,7 +32,7 @@ public class GeneralWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFa
 	 * @param conversation
 	 * @param entity
 	 */
-	public GeneralWizardPage(CdmFormFactory formFactory,
+	public GeneralWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, DerivedUnitFacade entity) {
 		super(formFactory, conversation, entity);
 		setTitle("General Specimen Data");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java
index 6af90afd8..4109096ac 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java
@@ -13,8 +13,8 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement;
@@ -39,7 +39,7 @@ public class NamedAreaDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param section
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -51,7 +51,7 @@ public class NamedAreaDetailElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public NamedAreaDetailElement(CdmFormFactory formFactory,
+	public NamedAreaDetailElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, NamedArea entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java
index d9454c383..310f5ebd7 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java
@@ -15,7 +15,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -32,12 +32,12 @@ public class SourceCollectionDetailSection extends
 	/**
 	 * <p>Constructor for SourceCollectionDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public SourceCollectionDetailSection(CdmFormFactory formFactory,
+	public SourceCollectionDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(formFactory, conversation, parentElement, "Sources", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java
index 1a846f449..ba86ee76c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java
@@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.occurrence.Specimen;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.DerivedUnitBaseSelectionElement;
@@ -40,7 +40,7 @@ public class SpecimenCollectionDetailElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param section
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -52,7 +52,7 @@ public class SpecimenCollectionDetailElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public SpecimenCollectionDetailElement(CdmFormFactory formFactory,
+	public SpecimenCollectionDetailElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, Specimen entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java
index 192249c98..975a9b3a4 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java
@@ -15,7 +15,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.occurrence.Specimen;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -32,12 +32,12 @@ public class SpecimenCollectionDetailSection extends
 	/**
 	 * <p>Constructor for SpecimenCollectionDetailSection.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public SpecimenCollectionDetailSection(CdmFormFactory formFactory,
+	public SpecimenCollectionDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(formFactory, conversation, parentElement, "Duplicates", style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java
index 062b13bfc..5f9798fff 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java
@@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.reference;
 import org.apache.log4j.Logger;
 
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement;
@@ -43,7 +43,7 @@ public class NomenclaturalReferenceDetailElement extends
 	 * </p>
 	 * 
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -51,7 +51,7 @@ public class NomenclaturalReferenceDetailElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public NomenclaturalReferenceDetailElement(CdmFormFactory cdmFormFactory,
+	public NomenclaturalReferenceDetailElement(CdmFormFactoryFacade cdmFormFactory,
 			ICdmFormElement formElement, int style) {
 		super(cdmFormFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java
index 565d8728c..bfffd416b 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java
@@ -17,9 +17,9 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
@@ -38,13 +38,13 @@ public class NomenclaturalReferenceDetailSection extends
 	/**
 	 * <p>Constructor for NomenclaturalReferenceDetailSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public NomenclaturalReferenceDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+	public NomenclaturalReferenceDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation,
 			ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java
index 73e07e8c6..0dbeb7ea3 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java
@@ -22,12 +22,12 @@ import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
 import eu.etaxonomy.cdm.model.reference.ReferenceType;
 import eu.etaxonomy.taxeditor.model.AuthorHelper;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.UriWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EnumComboType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EnumComboType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IErrorIntolerableElement;
@@ -79,7 +79,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
 	 * </p>
 	 * 
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -87,7 +87,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
 	 * @param style
 	 *            a int.
 	 */
-	public ReferenceDetailElement(CdmFormFactory cdmFormFactory,
+	public ReferenceDetailElement(CdmFormFactoryFacade cdmFormFactory,
 			ICdmFormElement formElement, int style) {
 		super(cdmFormFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java
index a4862e28c..ae3e3711a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java
@@ -17,10 +17,10 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
@@ -40,11 +40,11 @@ public class ReferenceDetailSection extends AbstractCdmDetailSection<Reference>
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 */
-	public ReferenceDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
+	public ReferenceDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java
index 0940ba532..8f1cac4f9 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java
@@ -14,12 +14,12 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IExceptionHandler;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
 /**
@@ -34,11 +34,11 @@ public class ReferenceWizardPage extends AbstractCdmEntityWizardPage<Reference>
 	/**
 	 * <p>Constructor for ReferenceBaseWizardPage.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
 	 */
-	public ReferenceWizardPage(CdmFormFactory formFactory, ConversationHolder conversation, Reference entity) {
+	public ReferenceWizardPage(CdmFormFactoryFacade formFactory, ConversationHolder conversation, Reference entity) {
 		super(formFactory, conversation, entity);
 		setTitle("Reference");
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java
index 5ac8c478e..e7fd7c61a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java
@@ -14,9 +14,9 @@ import org.apache.log4j.Logger;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.OriginalSourceBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -35,14 +35,14 @@ public abstract class AbstractOriginalSourceElement<T extends OriginalSourceBase
 	/**
 	 * <p>Constructor for AbstractOriginalSourceElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param element a T object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
 	 * @param <T> a T object.
 	 */
-	public AbstractOriginalSourceElement(CdmFormFactory formFactory,
+	public AbstractOriginalSourceElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section,
 			T element, SelectionListener removeListener,
 			int style) {
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractReferencedEntityElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractReferencedEntityElement.java
index 668879296..0cabf3936 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractReferencedEntityElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractReferencedEntityElement.java
@@ -14,10 +14,10 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement;
@@ -47,7 +47,7 @@ public abstract class AbstractReferencedEntityElement<T extends ReferencedEntity
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param section
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
@@ -61,7 +61,7 @@ public abstract class AbstractReferencedEntityElement<T extends ReferencedEntity
 	 * @param <T>
 	 *            a T object.
 	 */
-	public AbstractReferencedEntityElement(CdmFormFactory formFactory,
+	public AbstractReferencedEntityElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, T entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java
index bd7549066..74ad42b66 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java
@@ -6,10 +6,10 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.Annotation;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.term.AnnotationTypeComboElement;
@@ -31,10 +31,10 @@ public class AnnotationElement extends AbstractEntityCollectionElement<Annotatio
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 * @param annotation a {@link eu.etaxonomy.cdm.model.common.Annotation} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 */
-	public AnnotationElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Annotation annotation, SelectionListener removeListener, int style) {
+	public AnnotationElement(CdmFormFactoryFacade cdmFormFactory, AbstractFormSection formElement, Annotation annotation, SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, annotation, removeListener, null, style);
 	}
 	
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationSection.java
index 70af38fc4..638eee71b 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationSection.java
@@ -10,8 +10,8 @@ import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
 import eu.etaxonomy.cdm.model.common.Annotation;
 import eu.etaxonomy.cdm.model.common.AnnotationType;
 import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -29,10 +29,10 @@ public class AnnotationSection extends AbstractEntityCollectionSection<Annotatab
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public AnnotationSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public AnnotationSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Annotations", style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditElement.java
index 20125a59a..048ba4654 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditElement.java
@@ -6,10 +6,10 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.Credit;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.AgentSelectionElement;
@@ -39,14 +39,14 @@ public class CreditElement extends AbstractEntityCollectionElement<Credit> {
 	 * @param style
 	 *            a int.
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param credit
 	 *            a {@link eu.etaxonomy.cdm.model.common.Credit} object.
 	 * @param removeListener
 	 *            a {@link org.eclipse.swt.events.SelectionListener} object.
 	 */
-	public CreditElement(CdmFormFactory cdmFormFactory,
+	public CreditElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection formElement, Credit credit,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, credit, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditSection.java
index ba5b84958..e18848a45 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditSection.java
@@ -9,7 +9,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Credit;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -27,10 +27,10 @@ public class CreditSection extends AbstractEntityCollectionSection<IdentifiableE
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public CreditSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public CreditSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Credits", style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionElement.java
index 1f93a017a..bab00a513 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionElement.java
@@ -8,10 +8,10 @@ import org.eclipse.swt.events.SelectionListener;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.Extension;
 import eu.etaxonomy.cdm.model.common.ExtensionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.term.ExtensionTypeComboElement;
@@ -35,9 +35,9 @@ public class ExtensionElement extends AbstractEntityCollectionElement<Extension>
 	 * @param element a {@link eu.etaxonomy.cdm.model.common.Extension} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 */
-	public ExtensionElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Extension element,
+	public ExtensionElement(CdmFormFactoryFacade cdmFormFactory, AbstractFormSection formElement, Extension element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, element, removeListener, null, style);
 	}
@@ -50,7 +50,7 @@ public class ExtensionElement extends AbstractEntityCollectionElement<Extension>
 	public void createControls(ICdmFormElement element, int style) {
 		combo_extensionType = (ExtensionTypeComboElement) formFactory.createTermComboElement(TermComboType.EXTENSIONTYPE, this, null, null, style);
 		text_extensionValue = formFactory.createTextWithLabelElement(element, null, null, style);
-		text_extensionValue.getLayoutComposite().setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		text_extensionValue.getLayoutComposite().setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 	}
 
 	/* (non-Javadoc)
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionSection.java
index 3178e86bd..1faebbc1b 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionSection.java
@@ -9,7 +9,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Extension;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -26,10 +26,10 @@ public class ExtensionSection extends AbstractEntityCollectionSection<Identifiab
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public ExtensionSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public ExtensionSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation,parentElement, "Extensions", style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/HeadlineSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/HeadlineSection.java
index 8c5f93b24..e581d2d83 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/HeadlineSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/HeadlineSection.java
@@ -7,8 +7,8 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.ICdmBase;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -22,11 +22,11 @@ public class HeadlineSection extends AbstractFormSection<ICdmBase> {
 	/**
 	 * <p>Constructor for HeadlineSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public HeadlineSection(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement,
+	public HeadlineSection(CdmFormFactoryFacade cdmFormFactory, ICdmFormElement parentElement,
 			int style) {
 		super(cdmFormFactory, null, parentElement, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/IdentifiableSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/IdentifiableSourceElement.java
index 08506012b..200885caa 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/IdentifiableSourceElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/IdentifiableSourceElement.java
@@ -6,8 +6,8 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -26,9 +26,9 @@ public class IdentifiableSourceElement extends AbstractOriginalSourceElement<Ide
 	 * @param element a {@link eu.etaxonomy.cdm.model.common.IdentifiableSource} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 */
-	public IdentifiableSourceElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, IdentifiableSource element,
+	public IdentifiableSourceElement(CdmFormFactoryFacade cdmFormFactory, AbstractFormSection formElement, IdentifiableSource element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, element, removeListener, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java
index 7c70ac19a..fb76e127e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java
@@ -7,11 +7,11 @@ import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.Marker;
 import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement;
 
@@ -30,10 +30,10 @@ public class MarkerElement extends AbstractEntityCollectionElement<Marker>{
 	 * @param element a {@link eu.etaxonomy.cdm.model.common.Marker} object.
 	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
 	 */
-	public MarkerElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Marker element,
+	public MarkerElement(CdmFormFactoryFacade cdmFormFactory, AbstractFormSection formElement, Marker element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, element, removeListener, null, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java
index ef1739018..dc61c8ba8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java
@@ -9,7 +9,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
 import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -26,10 +26,10 @@ public class MarkerSection extends AbstractEntityCollectionSection<AnnotatableEn
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public MarkerSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public MarkerSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Marker", style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java
index 2158f6c0f..5959255cc 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java
@@ -8,11 +8,11 @@ import org.eclipse.swt.events.SelectionListener;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.media.Rights;
 import eu.etaxonomy.cdm.model.media.RightsTerm;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement;
@@ -45,10 +45,10 @@ public class RightsElement extends AbstractEntityCollectionElement<Rights> {
 	 * @param style
 	 *            a int.
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 */
-	public RightsElement(CdmFormFactory cdmFormFactory,
+	public RightsElement(CdmFormFactoryFacade cdmFormFactory,
 			AbstractFormSection formElement, Rights element,
 			SelectionListener removeListener, int style) {
 		super(cdmFormFactory, formElement, element, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java
index f79806588..e5d7455d9 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java
@@ -8,7 +8,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -25,10 +25,10 @@ public class RightsSection extends AbstractEntityCollectionSection<IdentifiableE
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public RightsSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public RightsSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Rights", style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java
index aa3393d62..b98ad595c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java
@@ -8,7 +8,7 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -26,10 +26,10 @@ public class SourceSection extends AbstractEntityCollectionSection<IIdentifiable
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 */
-	public SourceSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+	public SourceSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
 		super(cdmFormFactory, conversation, parentElement, "Sources", style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionElement.java
index acc91fb5b..b75ca20ce 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionElement.java
@@ -17,9 +17,9 @@ import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.model.common.VersionableEntity;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEntityElement;
 
@@ -44,20 +44,20 @@ public class VersionElement extends AbstractCdmFormElement implements IEntityEle
 	 * <p>Constructor for VersionElement.</p>
 	 *
 	 * @param style a int.
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param entity a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
 	 */
-	public VersionElement(CdmFormFactory toolkit, ICdmFormElement parentElement, VersionableEntity entity, int style) {
+	public VersionElement(CdmFormFactoryFacade toolkit, ICdmFormElement parentElement, VersionableEntity entity, int style) {
 		super(toolkit, parentElement);
 		
 		showDebug = PreferencesUtil.getPreferenceStore().getBoolean(PreferencesUtil.SHOW_DEBUG_INFORMATION);
 				
 		label_created = toolkit.createLabel(getLayoutComposite(), null);
-		label_created.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		label_created.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 
 		label_updated = toolkit.createLabel(getLayoutComposite(), null);
-		label_updated.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		label_updated.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 		
 		if(showDebug){
 			text_uuid = toolkit.createTextWithLabelElement(parentElement, "UUID", null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionSection.java
index 58cbef452..002115c1f 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionSection.java
@@ -13,8 +13,8 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental;
 import org.apache.log4j.Logger;
 
 import eu.etaxonomy.cdm.model.common.VersionableEntity;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -32,11 +32,11 @@ public class VersionSection extends AbstractFormSection<VersionableEntity>{
 	/**
 	 * <p>Constructor for VersionSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
 	 */
-	public VersionSection(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement,
+	public VersionSection(CdmFormFactoryFacade cdmFormFactory, ICdmFormElement parentElement,
 			int style) {
 		super(cdmFormFactory, null, parentElement, style);
 		versionElement = cdmFormFactory.createVersionElement(this, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessageElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessageElement.java
index e93c4d027..c25703bc2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessageElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessageElement.java
@@ -18,9 +18,9 @@ import org.eclipse.swt.widgets.Label;
 
 import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -39,12 +39,12 @@ public class ParsingMessageElement extends AbstractCdmFormElement {
 	/**
 	 * <p>Constructor for ParsingMessageElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param parserProblem a {@link eu.etaxonomy.cdm.strategy.parser.ParserProblem} object.
 	 * @param style a int.
 	 */
-	public ParsingMessageElement(CdmFormFactory formFactory,
+	public ParsingMessageElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, ParserProblem parserProblem, int style) {
 		super(formFactory, parentElement);
 		this.parserProblem = parserProblem;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessagesSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessagesSection.java
index e2b13db95..c04bda9fa 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessagesSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessagesSection.java
@@ -19,9 +19,9 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
@@ -43,13 +43,13 @@ public class ParsingMessagesSection extends AbstractCdmDetailSection<NonViralNam
 	/**
 	 * <p>Constructor for ParsingMessagesSection.</p>
 	 *
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 * @param style a int.
 	 */
-	public ParsingMessagesSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
+	public ParsingMessagesSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java
index 556f1c8c6..198988dfd 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java
@@ -17,9 +17,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
@@ -54,7 +54,7 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem
 	 * </p>
 	 * 
 	 * @param cdmFormFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param formElement
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
@@ -62,7 +62,7 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem
 	 * @param style
 	 *            a int.
 	 */
-	public TaxonBaseDetailElement(CdmFormFactory cdmFormFactory,
+	public TaxonBaseDetailElement(CdmFormFactoryFacade cdmFormFactory,
 			ICdmFormElement formElement, int style) {
 		super(cdmFormFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailSection.java
index 7be6719f1..d5a4aaa12 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailSection.java
@@ -15,8 +15,8 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
@@ -37,11 +37,11 @@ public class TaxonBaseDetailSection extends AbstractCdmDetailSection<TaxonBase>
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
 	 * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
 	 */
-	public TaxonBaseDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+	public TaxonBaseDetailSection(CdmFormFactoryFacade cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
 		super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonDetailElement.java
index e15057367..cedb4773b 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonDetailElement.java
@@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.taxon;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement;
@@ -37,7 +37,7 @@ public class TaxonDetailElement extends AbstractEntityCollectionElement<Taxon> {
 	 * @param backgroundColor
 	 * @param style
 	 */
-	public TaxonDetailElement(CdmFormFactory formFactory,
+	public TaxonDetailElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, Taxon entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailElement.java
index e1ac1c32f..439c933e4 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailElement.java
@@ -3,9 +3,9 @@ package eu.etaxonomy.taxeditor.ui.section.user;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.common.Group;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.GroupSelectionElement;
@@ -29,7 +29,7 @@ public class GroupsByUserDetailElement extends
 	 * @param backgroundColor
 	 * @param style
 	 */
-	public GroupsByUserDetailElement(CdmFormFactory formFactory,
+	public GroupsByUserDetailElement(CdmFormFactoryFacade formFactory,
 			AbstractFormSection section, Group entity,
 			SelectionListener removeListener, int style) {
 		super(formFactory, section, entity, removeListener, null, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java
index c891c639d..c6e19650e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java
@@ -8,8 +8,8 @@ import java.util.Collection;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.GroupSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
@@ -26,7 +26,7 @@ public class GroupsByUserDetailSection extends AbstractEntityCollectionSection<U
 	 * @param title
 	 * @param style
 	 */
-	public GroupsByUserDetailSection(CdmFormFactory formFactory,
+	public GroupsByUserDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			int style) {
 		super(formFactory, conversation, parentElement, "Groups", style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java
index 50542b642..a3a44f219 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java
@@ -4,10 +4,10 @@
 package eu.etaxonomy.taxeditor.ui.section.user;
 
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.password.EditPasswordElement;
@@ -29,7 +29,7 @@ public class UserDetailElement extends AbstractCdmDetailElement<User> {
 	private CheckboxElement checkbox_accountNonLocked;
 	private CheckboxElement checkbox_accountNonExpired;
 
-	public UserDetailElement(CdmFormFactory formFactory,
+	public UserDetailElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement formElement) {
 		super(formFactory, formElement);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java
index c72b39224..c735911f7 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java
@@ -10,9 +10,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.User;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -21,7 +21,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
  */
 public class UserDetailSection extends AbstractCdmDetailSection<User> {
 
-	public UserDetailSection(CdmFormFactory formFactory,
+	public UserDetailSection(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			ISelectionProvider selectionProvider, int style) {
 		super(formFactory, conversation, parentElement, selectionProvider, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java
index 08f561ce8..340d0ca3a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java
@@ -7,9 +7,9 @@ import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -19,7 +19,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  */
 public class UserDetailWizardPage extends AbstractCdmEntityWizardPage<User> {
 
-	public UserDetailWizardPage(CdmFormFactory formFactory,
+	public UserDetailWizardPage(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, User entity) {
 		super(formFactory, conversation, entity);
 		setTitle("User");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AbstractSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AbstractSelectionElement.java
index b7d1e6443..5cf6ea49d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AbstractSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AbstractSelectionElement.java
@@ -22,9 +22,9 @@ import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement;
@@ -85,7 +85,7 @@ public abstract class AbstractSelectionElement<T> extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            TODO
@@ -107,7 +107,7 @@ public abstract class AbstractSelectionElement<T> extends
 	 * @param <T>
 	 *            a T object.
 	 */
-	public AbstractSelectionElement(CdmFormFactory formFactory,
+	public AbstractSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, T entity, int mode, int style) {
 		super(formFactory, parentElement);
@@ -146,15 +146,15 @@ public abstract class AbstractSelectionElement<T> extends
 			columns += 1;
 		}
 
-		selectableComposite.setLayout(CdmFormFactory.LAYOUT(columns, false));
-		selectableComposite.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		selectableComposite.setLayout(CdmFormFactoryFacade.LAYOUT(columns, false));
+		selectableComposite.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 
 		addControl(selectableComposite);
 
 		text = formFactory.createLabel(selectableComposite, null, SWT.WRAP);
 		addControl(text);
 
-		text.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+		text.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 		text.setBackground(StoreUtil
 				.getColor(Resources.COLOR_TEXT_DISABLED_BACKGROUND));
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AgentSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AgentSelectionElement.java
index 62afd6891..43de2751c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AgentSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AgentSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AgentSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -37,7 +37,7 @@ public class AgentSelectionElement extends AbstractSelectionElement<AgentBase> {
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -52,7 +52,7 @@ public class AgentSelectionElement extends AbstractSelectionElement<AgentBase> {
 	 * @param style
 	 *            a int.
 	 */
-	public AgentSelectionElement(CdmFormFactory formFactory,
+	public AgentSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, AgentBase entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ClassificationSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ClassificationSelectionElement.java
index 592455faa..5d13ac5d0 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ClassificationSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ClassificationSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.ClassificationSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class ClassificationSelectionElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -53,7 +53,7 @@ public class ClassificationSelectionElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public ClassificationSelectionElement(CdmFormFactory formFactory,
+	public ClassificationSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Classification entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/CollectionSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/CollectionSelectionElement.java
index 806b44f92..ce98cc4b2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/CollectionSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/CollectionSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.CollectionSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class CollectionSelectionElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -53,7 +53,7 @@ public class CollectionSelectionElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public CollectionSelectionElement(CdmFormFactory formFactory,
+	public CollectionSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Collection entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/DerivedUnitBaseSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/DerivedUnitBaseSelectionElement.java
index 4e8c21c33..cb0cade16 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/DerivedUnitBaseSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/DerivedUnitBaseSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.DerivedUnitSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class DerivedUnitBaseSelectionElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -54,7 +54,7 @@ public class DerivedUnitBaseSelectionElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public DerivedUnitBaseSelectionElement(CdmFormFactory formFactory,
+	public DerivedUnitBaseSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, DerivedUnitBase entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java
index c0f298563..8a093f1f7 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java
@@ -29,8 +29,8 @@ import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.agent.PersonWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.agent.TeamWizardPage;
@@ -76,7 +76,7 @@ public class EditFromSelectionWizard extends Wizard implements
 	@Override
 	public void addPages() {
 
-		CdmFormFactory formFactory = selectionElement.getFormFactory();
+		CdmFormFactoryFacade formFactory = selectionElement.getFormFactory();
 		ICdmBase entity = (ICdmBase) HibernateProxyHelper
 				.deproxy(selectionElement.getEntity());
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureSelectionElement.java
index 80654f642..f52dc5810 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.FeatureSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -36,7 +36,7 @@ public class FeatureSelectionElement extends AbstractSelectionElement<Feature> {
 	 * @param entity
 	 * @param style
 	 */
-	public FeatureSelectionElement(CdmFormFactory formFactory,
+	public FeatureSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Feature entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureTreeSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureTreeSelectionElement.java
index 2cbf4aeb8..0f97b8893 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureTreeSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureTreeSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.FeatureTreeSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class FeatureTreeSelectionElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -54,7 +54,7 @@ public class FeatureTreeSelectionElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public FeatureTreeSelectionElement(CdmFormFactory formFactory,
+	public FeatureTreeSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, FeatureTree entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FieldObservationSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FieldObservationSelectionElement.java
index 69a7abfed..a05c2a895 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FieldObservationSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FieldObservationSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.FieldObservationSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class FieldObservationSelectionElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -54,7 +54,7 @@ public class FieldObservationSelectionElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public FieldObservationSelectionElement(CdmFormFactory formFactory,
+	public FieldObservationSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, FieldObservation entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/GroupSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/GroupSelectionElement.java
index bf58be173..fa311507c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/GroupSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/GroupSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Group;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.GroupSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class GroupSelectionElement extends AbstractSelectionElement<Group> {
 	 * @param isDeletable
 	 * @param style
 	 */
-	public GroupSelectionElement(CdmFormFactory formFactory,
+	public GroupSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Group entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/InstitutionSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/InstitutionSelectionElement.java
index 37ab0c706..11d458cb0 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/InstitutionSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/InstitutionSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Institution;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.InstitutionSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -44,7 +44,7 @@ public class InstitutionSelectionElement extends
 	 * @param style
 	 *            a int.
 	 * @param toolkit
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -53,7 +53,7 @@ public class InstitutionSelectionElement extends
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public InstitutionSelectionElement(CdmFormFactory toolkit,
+	public InstitutionSelectionElement(CdmFormFactoryFacade toolkit,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Institution selection, int mode, int style) {
 		super(toolkit, conversation, parentElement, labelString, selection,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NameSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NameSelectionElement.java
index db11d0023..2ff8c1f78 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NameSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NameSelectionElement.java
@@ -7,8 +7,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.NameSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -36,7 +36,7 @@ public class NameSelectionElement extends
 	 * @param style
 	 *            a int.
 	 * @param toolkit
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -45,7 +45,7 @@ public class NameSelectionElement extends
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public NameSelectionElement(CdmFormFactory toolkit,
+	public NameSelectionElement(CdmFormFactoryFacade toolkit,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, TaxonNameBase selection, int mode, int style) {
 		super(toolkit, conversation, parentElement, labelString, selection,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NamedAreaSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NamedAreaSelectionElement.java
index 74b2a5848..e97df8734 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NamedAreaSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NamedAreaSelectionElement.java
@@ -14,9 +14,9 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.NamedAreaSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -39,7 +39,7 @@ public class NamedAreaSelectionElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -54,7 +54,7 @@ public class NamedAreaSelectionElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public NamedAreaSelectionElement(CdmFormFactory formFactory,
+	public NamedAreaSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, NamedArea entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java
index a3ef4fecb..b66b29dc8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Team;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.NomenclaturalAuthorTeamSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class NomenclaturalAuthorTeamSelectionElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -53,7 +53,7 @@ public class NomenclaturalAuthorTeamSelectionElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public NomenclaturalAuthorTeamSelectionElement(CdmFormFactory formFactory,
+	public NomenclaturalAuthorTeamSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Team entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PersonSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PersonSelectionElement.java
index 386cd99e6..35a1acf6c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PersonSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PersonSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Person;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.PersonSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -37,7 +37,7 @@ public class PersonSelectionElement extends AbstractSelectionElement<Person> {
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -52,7 +52,7 @@ public class PersonSelectionElement extends AbstractSelectionElement<Person> {
 	 * @param style
 	 *            a int.
 	 */
-	public PersonSelectionElement(CdmFormFactory formFactory,
+	public PersonSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Person entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeyNodeSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeyNodeSelectionElement.java
index bf080b308..eaa248476 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeyNodeSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeyNodeSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -37,7 +37,7 @@ public class PolytomousKeyNodeSelectionElement extends
 	 * @param entity
 	 * @param style
 	 */
-	public PolytomousKeyNodeSelectionElement(CdmFormFactory formFactory,
+	public PolytomousKeyNodeSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, PolytomousKeyNode entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeySelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeySelectionElement.java
index 690eadb22..95a1ea8d2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeySelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeySelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.PolytomousKeySelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -39,7 +39,7 @@ public class PolytomousKeySelectionElement extends
 	 * @param isDeletable
 	 * @param style
 	 */
-	public PolytomousKeySelectionElement(CdmFormFactory formFactory,
+	public PolytomousKeySelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, PolytomousKey entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ReferenceSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ReferenceSelectionElement.java
index 18629c9ae..e6ecab79c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ReferenceSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ReferenceSelectionElement.java
@@ -8,9 +8,9 @@ import org.eclipse.swt.events.SelectionEvent;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IReferenceService;
 import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.ReferenceSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -39,7 +39,7 @@ public class ReferenceSelectionElement extends
 	 * @param style
 	 *            a int.
 	 * @param toolkit
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -48,7 +48,7 @@ public class ReferenceSelectionElement extends
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public ReferenceSelectionElement(CdmFormFactory toolkit,
+	public ReferenceSelectionElement(CdmFormFactoryFacade toolkit,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Reference selection, int mode, int style) {
 		super(toolkit, conversation, parentElement, labelString, selection,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/SynonymSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/SynonymSelectionElement.java
index 477484d3c..467a83592 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/SynonymSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/SynonymSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.TaxonBaseSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class SynonymSelectionElement extends AbstractSelectionElement<Synonym> {
 	 * @param isDeletable
 	 * @param style
 	 */
-	public SynonymSelectionElement(CdmFormFactory formFactory,
+	public SynonymSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Synonym entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonBaseSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonBaseSelectionElement.java
index 8eeed9a23..a8f291f4e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonBaseSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonBaseSelectionElement.java
@@ -7,8 +7,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.TaxonBaseSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -36,7 +36,7 @@ public class TaxonBaseSelectionElement extends
 	 * @param style
 	 *            a int.
 	 * @param toolkit
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -45,7 +45,7 @@ public class TaxonBaseSelectionElement extends
 	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
 	 *            object.
 	 */
-	public TaxonBaseSelectionElement(CdmFormFactory toolkit,
+	public TaxonBaseSelectionElement(CdmFormFactoryFacade toolkit,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, TaxonBase selection, int mode, int style) {
 		super(toolkit, conversation, parentElement, labelString, selection,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java
index 5be0d3ac6..93cb7a7b3 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java
@@ -16,8 +16,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.TaxonNodeSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -41,7 +41,7 @@ public class TaxonNodeSelectionElement extends
 	 * </p>
 	 * 
 	 * @param formFactory
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -56,7 +56,7 @@ public class TaxonNodeSelectionElement extends
 	 * @param style
 	 *            a int.
 	 */
-	public TaxonNodeSelectionElement(CdmFormFactory formFactory,
+	public TaxonNodeSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, TaxonNode entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonSelectionElement.java
index cb1694429..9123835cf 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.TaxonBaseSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -37,7 +37,7 @@ public class TaxonSelectionElement extends AbstractSelectionElement<Taxon> {
 	 * @param mode
 	 * @param style
 	 */
-	public TaxonSelectionElement(CdmFormFactory formFactory,
+	public TaxonSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Taxon entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TeamSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TeamSelectionElement.java
index 46cc8e7fb..8c1c6afb1 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TeamSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TeamSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Team;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.TeamSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -37,7 +37,7 @@ public class TeamSelectionElement extends AbstractSelectionElement<Team> {
 	 * </p>
 	 * 
 	 * @param toolkit
-	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
 	 *            object.
 	 * @param conversation
 	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
@@ -52,7 +52,7 @@ public class TeamSelectionElement extends AbstractSelectionElement<Team> {
 	 * @param style
 	 *            a int.
 	 */
-	public TeamSelectionElement(CdmFormFactory toolkit,
+	public TeamSelectionElement(CdmFormFactoryFacade toolkit,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, Team selection, int mode, int style) {
 		super(toolkit, conversation, parentElement, labelString, selection,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/UserSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/UserSelectionElement.java
index fc5d27d72..df98d8735 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/UserSelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/UserSelectionElement.java
@@ -14,8 +14,8 @@ import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.UserSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -38,7 +38,7 @@ public class UserSelectionElement extends AbstractSelectionElement<User> {
 	 * @param isDeletable
 	 * @param style
 	 */
-	public UserSelectionElement(CdmFormFactory formFactory,
+	public UserSelectionElement(CdmFormFactoryFacade formFactory,
 			ConversationHolder conversation, ICdmFormElement parentElement,
 			String labelString, User entity, int mode, int style) {
 		super(formFactory, conversation, parentElement, labelString, entity,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractEnumComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractEnumComboElement.java
index d9bdbe80a..cd0d2872a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractEnumComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractEnumComboElement.java
@@ -21,9 +21,9 @@ import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Label;
 
 import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement;
@@ -49,12 +49,12 @@ public abstract class AbstractEnumComboElement<T extends Enum> extends AbstractC
 	/**
 	 * <p>Constructor for AbstractEnumComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param <T> a T object.
 	 */
-	public AbstractEnumComboElement(CdmFormFactory formFactory,
+	public AbstractEnumComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString) {
 		super(formFactory, parentElement);
 		label = formFactory.createLabel(getLayoutComposite(), labelString);
@@ -63,7 +63,7 @@ public abstract class AbstractEnumComboElement<T extends Enum> extends AbstractC
 		// create combo
 	    combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY);
 		addControl(combo);
-	    combo.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+	    combo.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
 	    combo.setVisibleItemCount(VISIBLE_ITEMS);
 	    
 	    populateTypes();
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractTermComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractTermComboElement.java
index f06672c18..e2404d4de 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractTermComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractTermComboElement.java
@@ -24,11 +24,11 @@ import org.eclipse.swt.widgets.Listener;
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.store.TermManager;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement;
@@ -62,13 +62,13 @@ public abstract class AbstractTermComboElement<T extends DefinedTermBase> extend
 	 *
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a T object.
 	 * @param visibleItems a int.
 	 * @param <T> a T object.
 	 */
-	public AbstractTermComboElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString, T selection, int visibleItems, int style) {
+	public AbstractTermComboElement(CdmFormFactoryFacade formFactory, ICdmFormElement parentElement, String labelString, T selection, int visibleItems, int style) {
 		super(formFactory, parentElement);
 		
 		if(labelString != null){
@@ -79,7 +79,7 @@ public abstract class AbstractTermComboElement<T extends DefinedTermBase> extend
         // create combo
         combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY);
 		addControl(combo);
-        combo.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+        combo.setLayoutData(CdmFormFactoryFacade.FILL_HORIZONTALLY());
         combo.setVisibleItemCount(visibleItems);
         
         populateTerms(preferredTerms());
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AnnotationTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AnnotationTypeComboElement.java
index f0368c818..9f53e0e0f 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AnnotationTypeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AnnotationTypeComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.common.AnnotationType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class AnnotationTypeComboElement extends AbstractTermComboElement<Annotat
 	/**
 	 * <p>Constructor for AnnotationTypeComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.common.AnnotationType} object.
 	 * @param style a int.
 	 */
-	public AnnotationTypeComboElement(CdmFormFactory formFactory,
+	public AnnotationTypeComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			AnnotationType selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/DeterminationModifierComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/DeterminationModifierComboElement.java
index 6a60893b8..d3858f201 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/DeterminationModifierComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/DeterminationModifierComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class DeterminationModifierComboElement extends AbstractTermComboElement<
 	/**
 	 * <p>Constructor for DeterminationModifierComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.occurrence.DeterminationModifier} object.
 	 * @param style a int.
 	 */
-	public DeterminationModifierComboElement(CdmFormFactory formFactory,
+	public DeterminationModifierComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			DeterminationModifier selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/EmptyComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/EmptyComboElement.java
index 83647e794..f1042594a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/EmptyComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/EmptyComboElement.java
@@ -17,7 +17,7 @@ import org.eclipse.jface.util.PropertyChangeEvent;
 
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -36,13 +36,13 @@ public class EmptyComboElement<T extends DefinedTermBase> extends AbstractTermCo
 	/**
 	 * <p>Constructor for EmptyComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param style a int.
 	 * @param <T> a T object.
 	 */
-	public EmptyComboElement(CdmFormFactory formFactory,
+	public EmptyComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			int style) {
 		super(formFactory, parentElement, labelString, null, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ExtensionTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ExtensionTypeComboElement.java
index 145d57070..73518b5ed 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ExtensionTypeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ExtensionTypeComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.common.ExtensionType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -33,10 +33,10 @@ public class ExtensionTypeComboElement extends AbstractTermComboElement<Extensio
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.common.ExtensionType} object.
 	 * @param style a int.
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public ExtensionTypeComboElement(CdmFormFactory toolkit, ICdmFormElement parentElement, String labelString,
+	public ExtensionTypeComboElement(CdmFormFactoryFacade toolkit, ICdmFormElement parentElement, String labelString,
 			ExtensionType selection, int style) {
 		super(toolkit, parentElement, labelString, selection, VISIBLE_ITEMS, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/LanguageComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/LanguageComboElement.java
index 0ba64e043..4d37a83b0 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/LanguageComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/LanguageComboElement.java
@@ -6,7 +6,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -25,10 +25,10 @@ public class LanguageComboElement extends AbstractTermComboElement<Language> {
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.common.Language} object.
 	 * @param style a int.
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public LanguageComboElement(CdmFormFactory toolkit, ICdmFormElement parentElement, String labelString, Language selection, int style) {
+	public LanguageComboElement(CdmFormFactoryFacade toolkit, ICdmFormElement parentElement, String labelString, Language selection, int style) {
 		super(toolkit, parentElement, labelString, selection, VISIBLE_ITEMS, style);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MarkerTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MarkerTypeComboElement.java
index 715685d87..a6cb8ad80 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MarkerTypeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MarkerTypeComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -33,10 +33,10 @@ public class MarkerTypeComboElement extends AbstractTermComboElement<MarkerType>
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.common.MarkerType} object.
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public MarkerTypeComboElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString,
+	public MarkerTypeComboElement(CdmFormFactoryFacade formFactory, ICdmFormElement parentElement, String labelString,
 			MarkerType selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MeasurementUnitComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MeasurementUnitComboElement.java
index 01b661744..a7dc97a30 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MeasurementUnitComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MeasurementUnitComboElement.java
@@ -6,7 +6,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.description.MeasurementUnit;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -23,13 +23,13 @@ public class MeasurementUnitComboElement extends AbstractTermComboElement<Measur
 	/**
 	 * <p>Constructor for MeasurementUnitComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.description.MeasurementUnit} object.
 	 * @param style a int.
 	 */
-	public MeasurementUnitComboElement(CdmFormFactory formFactory,
+	public MeasurementUnitComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			MeasurementUnit selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ModifierComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ModifierComboElement.java
index 8cd80713b..6af7d4ac4 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ModifierComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ModifierComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.description.Modifier;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class ModifierComboElement extends AbstractTermComboElement<Modifier> {
 	/**
 	 * <p>Constructor for ModifierComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.description.Modifier} object.
 	 * @param style a int.
 	 */
-	public ModifierComboElement(CdmFormFactory formFactory,
+	public ModifierComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			Modifier selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameRelationshipTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameRelationshipTypeComboElement.java
index c16bae610..fde22b966 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameRelationshipTypeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameRelationshipTypeComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.name.NameRelationshipType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class NameRelationshipTypeComboElement extends AbstractTermComboElement<N
 	/**
 	 * <p>Constructor for NameRelationshipTypeComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.name.NameRelationshipType} object.
 	 * @param style a int.
 	 */
-	public NameRelationshipTypeComboElement(CdmFormFactory formFactory,
+	public NameRelationshipTypeComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString, NameRelationshipType selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameTypeDesignationStatusComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameTypeDesignationStatusComboElement.java
index 53f5c28c9..1b0e438b8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameTypeDesignationStatusComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameTypeDesignationStatusComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -31,13 +31,13 @@ public class NameTypeDesignationStatusComboElement extends
 	/**
 	 * <p>Constructor for NameTypeDesignationStatusComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus} object.
 	 * @param style a int.
 	 */
-	public NameTypeDesignationStatusComboElement(CdmFormFactory formFactory,
+	public NameTypeDesignationStatusComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			NameTypeDesignationStatus selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NamedAreaTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NamedAreaTypeComboElement.java
index 5b0a3751c..4a148565d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NamedAreaTypeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NamedAreaTypeComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.location.NamedAreaType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class NamedAreaTypeComboElement extends AbstractTermComboElement<NamedAre
 	/**
 	 * <p>Constructor for NamedAreaTypeComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.location.NamedAreaType} object.
 	 * @param style a int.
 	 */
-	public NamedAreaTypeComboElement(CdmFormFactory formFactory,
+	public NamedAreaTypeComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			NamedAreaType selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalCodeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalCodeComboElement.java
index e27371bbf..242468fb8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalCodeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalCodeComboElement.java
@@ -11,7 +11,7 @@
 package eu.etaxonomy.taxeditor.ui.term;
 
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -26,13 +26,13 @@ public class NomenclaturalCodeComboElement extends AbstractEnumComboElement<Nome
 	/**
 	 * <p>Constructor for NomenclaturalCodeComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param nomenclaturalCode a {@link eu.etaxonomy.cdm.model.name.NomenclaturalCode} object.
 	 * @param style a int.
 	 */
-	public NomenclaturalCodeComboElement(CdmFormFactory formFactory,
+	public NomenclaturalCodeComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString, NomenclaturalCode nomenclaturalCode, int style) {
 		super(formFactory, parentElement, labelString);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalStatusTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalStatusTypeComboElement.java
index 4e30806ea..1ee9b2c4f 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalStatusTypeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalStatusTypeComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -34,10 +34,10 @@ public class NomenclaturalStatusTypeComboElement extends
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.name.NomenclaturalStatusType} object.
 	 * @param style a int.
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public NomenclaturalStatusTypeComboElement(CdmFormFactory toolkit, ICdmFormElement parentElement,
+	public NomenclaturalStatusTypeComboElement(CdmFormFactoryFacade toolkit, ICdmFormElement parentElement,
 			String labelString, NomenclaturalStatusType selection, int style) {
 		super(toolkit, parentElement, labelString, selection, VISIBLE_ITEMS, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PresenceAbsenceTermComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PresenceAbsenceTermComboElement.java
index b03ed89be..8ed7d6997 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PresenceAbsenceTermComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PresenceAbsenceTermComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -31,13 +31,13 @@ public class PresenceAbsenceTermComboElement extends
 	/**
 	 * <p>Constructor for PresenceAbsenceTermComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase} object.
 	 * @param style a int.
 	 */
-	public PresenceAbsenceTermComboElement(CdmFormFactory formFactory,
+	public PresenceAbsenceTermComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			PresenceAbsenceTermBase selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PreservationMethodComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PreservationMethodComboElement.java
index 20f4fbb97..4c9bffcb5 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PreservationMethodComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PreservationMethodComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class PreservationMethodComboElement extends AbstractTermComboElement<Pre
 	/**
 	 * <p>Constructor for PreservationMethodComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.occurrence.PreservationMethod} object.
 	 * @param style a int.
 	 */
-	public PreservationMethodComboElement(CdmFormFactory formFactory,
+	public PreservationMethodComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			PreservationMethod selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RankComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RankComboElement.java
index 4be334a3e..921b41706 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RankComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RankComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.name.Rank;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -33,10 +33,10 @@ public class RankComboElement extends AbstractTermComboElement<Rank> {
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.name.Rank} object.
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public RankComboElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString,
+	public RankComboElement(CdmFormFactoryFacade formFactory, ICdmFormElement parentElement, String labelString,
 			Rank selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceSystemComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceSystemComboElement.java
index 6a0e9d4dc..693121ad2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceSystemComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceSystemComboElement.java
@@ -13,8 +13,8 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.location.ReferenceSystem;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.TermStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -31,13 +31,13 @@ public class ReferenceSystemComboElement extends AbstractTermComboElement<Refere
 	/**
 	 * <p>Constructor for ReferenceSystemComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.location.ReferenceSystem} object.
 	 * @param style a int.
 	 */
-	public ReferenceSystemComboElement(CdmFormFactory formFactory,
+	public ReferenceSystemComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			ReferenceSystem selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceTypeComboElement.java
index 5d0eb0211..a789a7f10 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceTypeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceTypeComboElement.java
@@ -11,8 +11,8 @@
 package eu.etaxonomy.taxeditor.ui.term;
 
 import eu.etaxonomy.cdm.model.reference.ReferenceType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -28,12 +28,12 @@ public class ReferenceTypeComboElement extends AbstractEnumComboElement<Referenc
 	 * <p>Constructor for ReferenceTypeComboElement.</p>
 	 *
 	 * @param style a int.
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param referenceType a {@link eu.etaxonomy.cdm.model.reference.ReferenceType} object.
 	 */
-	public ReferenceTypeComboElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString, ReferenceType referenceType, int style) {
+	public ReferenceTypeComboElement(CdmFormFactoryFacade formFactory, ICdmFormElement parentElement, String labelString, ReferenceType referenceType, int style) {
 		super(formFactory, parentElement, labelString);
 	}
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RightsTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RightsTypeComboElement.java
index 9c0d58578..5b628419a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RightsTypeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RightsTypeComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.media.RightsTerm;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -33,10 +33,10 @@ public class RightsTypeComboElement extends AbstractTermComboElement<RightsTerm>
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.media.RightsTerm} object.
 	 * @param style a int.
-	 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param toolkit a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 */
-	public RightsTypeComboElement(CdmFormFactory toolkit, ICdmFormElement parentElement, String labelString,
+	public RightsTypeComboElement(CdmFormFactoryFacade toolkit, ICdmFormElement parentElement, String labelString,
 			RightsTerm selection, int style) {
 		super(toolkit, parentElement, labelString, selection, VISIBLE_ITEMS, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ScopeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ScopeComboElement.java
index d64d75e12..76c9d3199 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ScopeComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ScopeComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.description.Scope;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class ScopeComboElement extends AbstractTermComboElement<Scope> {
 	/**
 	 * <p>Constructor for ScopeComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.description.Scope} object.
 	 * @param style a int.
 	 */
-	public ScopeComboElement(CdmFormFactory formFactory,
+	public ScopeComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString, Scope selection,
 			int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SexComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SexComboElement.java
index fad77d977..ec285978f 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SexComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SexComboElement.java
@@ -14,7 +14,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.description.Sex;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -31,13 +31,13 @@ public class SexComboElement extends AbstractTermComboElement<Sex> {
 	/**
 	 * <p>Constructor for SexComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.description.Sex} object.
 	 * @param style a int.
 	 */
-	public SexComboElement(CdmFormFactory formFactory,
+	public SexComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString, Sex selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SpecimenTypeDesignationStatusComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SpecimenTypeDesignationStatusComboElement.java
index 86e7c3ee8..1d85e0132 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SpecimenTypeDesignationStatusComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SpecimenTypeDesignationStatusComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -31,14 +31,14 @@ public class SpecimenTypeDesignationStatusComboElement extends
 	/**
 	 * <p>Constructor for SpecimenTypeDesignationStatusComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus} object.
 	 * @param style a int.
 	 */
 	public SpecimenTypeDesignationStatusComboElement(
-			CdmFormFactory formFactory, ICdmFormElement parentElement,
+			CdmFormFactoryFacade formFactory, ICdmFormElement parentElement,
 			String labelString, SpecimenTypeDesignationStatus selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StageComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StageComboElement.java
index ad598b991..a08d8131c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StageComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StageComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.description.Stage;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class StageComboElement extends AbstractTermComboElement<Stage> {
 	/**
 	 * <p>Constructor for StageComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.description.Stage} object.
 	 * @param style a int.
 	 */
-	public StageComboElement(CdmFormFactory formFactory,
+	public StageComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString, Stage selection,
 			int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StateComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StateComboElement.java
index c55f64e43..53b9e092c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StateComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StateComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.description.State;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class StateComboElement extends AbstractTermComboElement<State> {
 	/**
 	 * <p>Constructor for StateComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.description.State} object.
 	 * @param style a int.
 	 */
-	public StateComboElement(CdmFormFactory formFactory,
+	public StateComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString, State selection,
 			int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StatisticalMeasureComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StatisticalMeasureComboElement.java
index 38f270422..3ea08f6e9 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StatisticalMeasureComboElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StatisticalMeasureComboElement.java
@@ -13,7 +13,7 @@ package eu.etaxonomy.taxeditor.ui.term;
 import java.util.List;
 
 import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 
 /**
@@ -30,13 +30,13 @@ public class StatisticalMeasureComboElement extends AbstractTermComboElement<Sta
 	/**
 	 * <p>Constructor for StatisticalMeasureComboElement.</p>
 	 *
-	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+	 * @param formFactory a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade} object.
 	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
 	 * @param labelString a {@link java.lang.String} object.
 	 * @param selection a {@link eu.etaxonomy.cdm.model.description.StatisticalMeasure} object.
 	 * @param style a int.
 	 */
-	public StatisticalMeasureComboElement(CdmFormFactory formFactory,
+	public StatisticalMeasureComboElement(CdmFormFactoryFacade formFactory,
 			ICdmFormElement parentElement, String labelString,
 			StatisticalMeasure selection, int style) {
 		super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationMetaDataWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationMetaDataWizardPage.java
index f35f678fd..fc1250c24 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationMetaDataWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationMetaDataWizardPage.java
@@ -16,7 +16,7 @@ import org.eclipse.swt.custom.SashForm;
 import org.eclipse.swt.widgets.Composite;
 
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 
 /**
  * <p>TranslationMetaDataWizardPage class.</p>
@@ -27,7 +27,7 @@ import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
  */
 public class TranslationMetaDataWizardPage extends WizardPage {
 
-	private CdmFormFactory formFactory;
+	private CdmFormFactoryFacade formFactory;
 
 	/**
 	 * <p>Constructor for TranslationMetaDataWizardPage.</p>
@@ -36,7 +36,7 @@ public class TranslationMetaDataWizardPage extends WizardPage {
 		super("TranslationMetaDataWizardPage");
 		setTitle("See information about existing translations");
 				
-		formFactory = new CdmFormFactory(DisplayProxy.getDefault());
+		formFactory = CdmFormFactoryFacade.getInstance(DisplayProxy.getDefault());
 	}
 	
 	/* (non-Javadoc)
@@ -47,9 +47,9 @@ public class TranslationMetaDataWizardPage extends WizardPage {
 	public void createControl(Composite parent) {
 		Composite control = formFactory.createComposite(parent);
 //		control.setBackground(DisplayProxy.getDefault().getSystemColor(SWT.COLOR_GREEN));
-		control.setLayout(CdmFormFactory.LAYOUT(1, false));
+		control.setLayout(CdmFormFactoryFacade.LAYOUT(1, false));
 		SashForm sash = new SashForm(control, SWT.HORIZONTAL);
-		sash.setLayoutData(CdmFormFactory.FILL());
+		sash.setLayoutData(CdmFormFactoryFacade.FILL());
 		
 		setControl(control);
 	}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java
index 0a87463f4..ce88599a7 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java
@@ -28,11 +28,11 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.singlesource.ui.forms.LanguageStringWithLabelElementFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement;
 import eu.etaxonomy.taxeditor.ui.forms.RootElement;
@@ -54,7 +54,7 @@ public class TranslationWizardPage extends WizardPage{
 
 	MultilanguageTextElement source;
 	
-	private CdmFormFactory formFactory;
+	private CdmFormFactoryFacade formFactory;
 
 	private EmptyComboElement<Language> combo_sourceLanguage;
 
@@ -74,7 +74,7 @@ public class TranslationWizardPage extends WizardPage{
 		Assert.isNotNull(multilanguageText, "Multilanguage text may not be null");
 		setTitle("Add or edit translations.");
 		this.multilanguageText = multilanguageText;
-		formFactory = new CdmFormFactory(DisplayProxy.getDefault());
+		formFactory = CdmFormFactoryFacade.getInstance(DisplayProxy.getDefault());
 	}
 
 	/* (non-Javadoc)
@@ -85,17 +85,17 @@ public class TranslationWizardPage extends WizardPage{
 	public void createControl(Composite parent) {
 		Composite control = formFactory.createComposite(parent);
 //		control.setBackground(DisplayProxy.getDefault().getSystemColor(SWT.COLOR_GREEN));
-		control.setLayout(CdmFormFactory.LAYOUT(2, true));
+		control.setLayout(CdmFormFactoryFacade.LAYOUT(2, true));
 		
 		Composite leftContainer = formFactory.createComposite(control);
-		leftContainer.setLayoutData(CdmFormFactory.FILL());
-		leftContainer.setLayout(CdmFormFactory.LAYOUT(1, false));
+		leftContainer.setLayoutData(CdmFormFactoryFacade.FILL());
+		leftContainer.setLayout(CdmFormFactoryFacade.LAYOUT(1, false));
 //		leftContainer.setBackground(DisplayProxy.getDefault().getSystemColor(SWT.COLOR_BLUE));
 		RootElement leftRoot = new RootElement(formFactory, leftContainer);
 		
 		Composite rightContainer = formFactory.createComposite(control);
-		rightContainer.setLayoutData(CdmFormFactory.FILL());
-		rightContainer.setLayout(CdmFormFactory.LAYOUT(1, false));
+		rightContainer.setLayoutData(CdmFormFactoryFacade.FILL());
+		rightContainer.setLayout(CdmFormFactoryFacade.LAYOUT(1, false));
 //		rightContainer.setBackground(DisplayProxy.getDefault().getSystemColor(SWT.COLOR_RED));
 		RootElement rightRoot = new RootElement(formFactory, rightContainer);
 		
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java
index d0852256d..b7cc98f32 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java
@@ -23,8 +23,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.singlesource.org.eclipse.swt.widgets.DisplayProxy;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.forms.RootElement;
 import eu.etaxonomy.taxeditor.view.detail.CdmSectionPart;
 
@@ -39,7 +39,7 @@ public abstract class AbstractCdmDataViewer extends Viewer implements ISelection
 	
 	protected ManagedForm managedForm;
 
-	protected CdmFormFactory formFactory;
+	protected CdmFormFactoryFacade formFactory;
 
 	protected ScrolledForm scrolledForm;
 	
@@ -78,7 +78,7 @@ public abstract class AbstractCdmDataViewer extends Viewer implements ISelection
 		
 		body = scrolledForm.getBody();
 		
-		body.setLayout(CdmFormFactory.LAYOUT());
+		body.setLayout(CdmFormFactoryFacade.LAYOUT());
 		
 		rootElement = new RootElement(formFactory, body);
 	}
@@ -91,7 +91,7 @@ public abstract class AbstractCdmDataViewer extends Viewer implements ISelection
 			formFactory.dispose();
 			formFactory = null;
 		}
-		formFactory = new CdmFormFactory(DisplayProxy.getDefault(), this);
+		formFactory = CdmFormFactoryFacade.getInstance(DisplayProxy.getDefault(), this);
 	}
 
 	protected void markViewPartDirty(){
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java
index 8183d13ea..88f923cc6 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java
@@ -36,9 +36,9 @@ import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
 import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship;
 import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.DetailType;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
 import eu.etaxonomy.taxeditor.ui.forms.RootElement;
 import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.agent.TeamDetailSection;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java
index dc6e56fa3..c3d442856 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java
@@ -23,9 +23,9 @@ import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.VersionableEntity;
 import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;
 import eu.etaxonomy.taxeditor.model.IElementHasDetails;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
+import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.EntityDetailType;
 import eu.etaxonomy.taxeditor.ui.forms.RootElement;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
 import eu.etaxonomy.taxeditor.ui.section.media.MediaSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditSection;
@@ -218,7 +218,7 @@ public class SupplementalDataViewer extends AbstractCdmDataViewer implements ISe
 	/** {@inheritDoc} */
 	public void selectionChanged(SelectionChangedEvent event) {
 		if(event.getSource() instanceof DetailsViewer){
-			if(event.getSelection() == CdmFormFactory.EMPTY_SELECTION){
+			if(event.getSelection() == CdmFormFactoryFacade.EMPTY_SELECTION){
 				setInput(null);
 				currentViewPart = VIEW_PART.EMPTY;
 				return;
