diff --git a/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF
index ae868f1be4e131bdfb489e51a4fb366960527fed..bdb5cee237aef3008ada0da44165f76cf121c2f3 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF
@@ -16,7 +16,6 @@ Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: fortiss
 Export-Package: org.fortiss.tooling.kernel.ui,
- org.fortiss.tooling.kernel.ui.databinding,
  org.fortiss.tooling.kernel.ui.extension,
  org.fortiss.tooling.kernel.ui.extension.base,
  org.fortiss.tooling.kernel.ui.extension.data,
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/EObjectObservableValue.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/EObjectObservableValue.java
deleted file mode 100644
index 4e9caba2441d7d447ca38022517bdf413878d13c..0000000000000000000000000000000000000000
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/EObjectObservableValue.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*--------------------------------------------------------------------------+
-$Id$
-|                                                                          |
-| Copyright 2011 ForTISS GmbH                     |
-|                                                                          |
-| Licensed under the Apache License, Version 2.0 (the "License");          |
-| you may not use this file except in compliance with the License.         |
-| You may obtain a copy of the License at                                  |
-|                                                                          |
-|    http://www.apache.org/licenses/LICENSE-2.0                            |
-|                                                                          |
-| Unless required by applicable law or agreed to in writing, software      |
-| distributed under the License is distributed on an "AS IS" BASIS,        |
-| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
-| See the License for the specific language governing permissions and      |
-| limitations under the License.                                           |
-+--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.ui.databinding;
-
-import org.eclipse.core.databinding.observable.Diffs;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.AbstractObservableValue;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.swt.widgets.Display;
-import org.fortiss.tooling.kernel.service.ICommandStackService;
-
-/**
- * Implementation of {@link IObservableValue} for {@link EObject}s.
- * 
- * @author hummel
- * @author $Author$
- * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 94D2F02DEDBCCDFD7ABC432477684C9B
- */
-public class EObjectObservableValue extends AbstractObservableValue {
-
-	/** The wrapped object. */
-	private final EObject eObject;
-
-	/** The wrapped structural feature. */
-	private final EStructuralFeature structuralFeature;
-
-	/** Flag used for detecting our own updates. */
-	private boolean updating = false;
-
-	/** The adapter for sending change events. */
-	private final Adapter modelChangeAdapter = new AdapterImpl() {
-		/** {@inheritDoc} */
-		@Override
-		public void notifyChanged(final Notification msg) {
-			if (!updating && msg.getFeature() == structuralFeature) {
-				Display.getDefault().asyncExec(new Runnable() {
-					@Override
-					public void run() {
-						fireValueChange(Diffs.createValueDiff(
-								msg.getOldValue(), msg.getNewValue()));
-					}
-				});
-			}
-		}
-	};
-
-	/** Constructor. */
-	public EObjectObservableValue(Realm realm, EObject eObject,
-			EStructuralFeature structuralFeature) {
-		super(realm);
-		this.eObject = eObject;
-		this.structuralFeature = structuralFeature;
-
-		eObject.eAdapters().add(modelChangeAdapter);
-	}
-
-	/** {@inheritDoc} */
-	@Override
-	public synchronized void dispose() {
-		eObject.eAdapters().remove(modelChangeAdapter);
-		super.dispose();
-	}
-
-	/** {@inheritDoc} */
-	@Override
-	protected Object doGetValue() {
-		return eObject.eGet(structuralFeature);
-	}
-
-	/** {@inheritDoc} */
-	@Override
-	protected void doSetValue(final Object value) {
-		Object oldValue = doGetValue();
-		if (oldValue == null && value == null || oldValue != null
-				&& oldValue.equals(value)) {
-			return;
-		}
-
-		updating = true;
-		ICommandStackService.INSTANCE.runAsCommand(eObject, new Runnable() {
-			@Override
-			public void run() {
-				eObject.eSet(structuralFeature, value);
-			}
-		});
-		updating = false;
-	}
-
-	/** {@inheritDoc} */
-	@Override
-	public Object getValueType() {
-		if (structuralFeature.isMany()) {
-			return EList.class;
-		}
-
-		if (structuralFeature instanceof EAttribute) {
-			return ((EAttribute) structuralFeature).getEAttributeType()
-					.getInstanceClass();
-		}
-		return ((EReference) structuralFeature).getEReferenceType()
-				.getInstanceClass();
-	}
-
-}
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/Observables.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/Observables.java
deleted file mode 100644
index ab4a5a430f6db9e87589261b71447cf0a535fe8f..0000000000000000000000000000000000000000
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/Observables.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------------------------------------------------+
-$Id$
-|                                                                          |
-| Copyright 2011 ForTISS GmbH                     |
-|                                                                          |
-| Licensed under the Apache License, Version 2.0 (the "License");          |
-| you may not use this file except in compliance with the License.         |
-| You may obtain a copy of the License at                                  |
-|                                                                          |
-|    http://www.apache.org/licenses/LICENSE-2.0                            |
-|                                                                          |
-| Unless required by applicable law or agreed to in writing, software      |
-| distributed under the License is distributed on an "AS IS" BASIS,        |
-| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
-| See the License for the specific language governing permissions and      |
-| limitations under the License.                                           |
-+--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.ui.databinding;
-
-import org.conqat.lib.commons.assertion.CCSMPre;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * Observerables for {@link EObject} models.
- * 
- * @author hummel
- * @author $Author$
- * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 714FEC022718BEA0D783DC7A39A08742
- */
-public class Observables {
-
-	/** Returns an observable for the given object and structural feature. */
-	public static IObservableValue observeValue(EObject eObject,
-			EStructuralFeature structuralFeature) {
-		return observeValue(Realm.getDefault(), eObject, structuralFeature);
-	}
-
-	/** Returns an observable for the given object and structural feature. */
-	public static IObservableValue observeValue(Realm realm, EObject eObject,
-			EStructuralFeature structuralFeature) {
-		CCSMPre.isTrue(eObject != null, "Can not observe null value!");
-		return new EObjectObservableValue(realm, eObject, structuralFeature);
-	}
-}
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/package.html b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/package.html
deleted file mode 100644
index e6cd7c22577eacf40c385337d417f3e28d3f4e8c..0000000000000000000000000000000000000000
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!--  
-  $Id$
-  @version $Rev$
-  @ConQAT.Rating GREEN Hash: 996283773B2EC0D22D4A844A3C9E30A8
--->
-<body>
-Support classes for using the data binding mechanism with EMF EObjects.
-</body>
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/EObjectActionBase.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/EObjectActionBase.java
index 789263ed8b40e224406a2fe31142fbcde7f5ffca..29b2eed21a1f0988fabb2b72403089985fd14bba 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/EObjectActionBase.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/EObjectActionBase.java
@@ -48,4 +48,5 @@ public abstract class EObjectActionBase extends Action {
 	public EObject getTarget() {
 		return target;
 	}
+
 }
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/PropertySectionBase.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/PropertySectionBase.java
index d6f835945be7d9c5240fcc7f4cd88767b1c8a8a5..45f53d68ca03faa09099fdf99cdc4e8d42f5fe67 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/PropertySectionBase.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/PropertySectionBase.java
@@ -20,11 +20,11 @@ package org.fortiss.tooling.kernel.ui.extension.base;
 import org.conqat.ide.commons.ui.databinding.validate.NumberPositiveValidator;
 import org.conqat.ide.commons.ui.databinding.validate.TextToDoubleValidator;
 import org.conqat.ide.commons.ui.databinding.validate.TextToIntegerValidator;
-import org.eclipse.core.databinding.DataBindingContext;
 import org.eclipse.core.databinding.conversion.NumberToStringConverter;
 import org.eclipse.core.databinding.conversion.StringToNumberConverter;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
 import org.eclipse.core.databinding.validation.IValidator;
+import org.eclipse.emf.databinding.EMFDataBindingContext;
 import org.eclipse.gef.EditPart;
 import org.eclipse.jface.fieldassist.ControlDecoration;
 import org.eclipse.jface.layout.GridDataFactory;
@@ -60,7 +60,7 @@ public abstract class PropertySectionBase extends AbstractPropertySection {
 	protected Composite composite;
 
 	/** Stores the data binding context used. */
-	protected DataBindingContext dbc = new DataBindingContext();
+	protected EMFDataBindingContext dbc = new EMFDataBindingContext();
 
 	/** {@inheritDoc} */
 	@Override
@@ -144,7 +144,7 @@ public abstract class PropertySectionBase extends AbstractPropertySection {
 	@Override
 	public void refresh() {
 		dbc.dispose();
-		dbc = new DataBindingContext();
+		dbc = new EMFDataBindingContext();
 	}
 
 	/** Binds a positive double value. */
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java
index 66443a0db1596f4a39fbed0d82d7da12f9d5ef7c..663e0b6995e8d6c935bad593b235419b309e3122 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java
@@ -18,6 +18,7 @@ $Id$
 package org.fortiss.tooling.kernel.ui.internal.properties;
 
 import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.databinding.EMFObservables;
 import org.eclipse.jface.databinding.swt.SWTObservables;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
@@ -25,7 +26,6 @@ import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
 import org.fortiss.tooling.kernel.model.FortissToolingKernelPackage;
 import org.fortiss.tooling.kernel.model.IIdLabeled;
-import org.fortiss.tooling.kernel.ui.databinding.Observables;
 import org.fortiss.tooling.kernel.ui.extension.base.PropertySectionBase;
 
 /**
@@ -65,8 +65,9 @@ public class IdLabeledPropertySection extends PropertySectionBase {
 	public void refresh() {
 		super.refresh();
 
-		IObservableValue modelObservable = Observables.observeValue(idLabeled,
-				FortissToolingKernelPackage.Literals.IID_LABELED__ID);
+		IObservableValue modelObservable = EMFObservables
+				.observeValue(idLabeled,
+						FortissToolingKernelPackage.Literals.IID_LABELED__ID);
 		dbc.bindValue(SWTObservables.observeText(idText, SWT.None),
 				modelObservable, null, null);
 	}
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java
index 1dfaee3b66f617b5a335102dc93595fc7c2aa0b5..3d19626eb71d940a6a4ed7666f94a509f0c29ef4 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java
@@ -18,6 +18,7 @@ $Id$
 package org.fortiss.tooling.kernel.ui.internal.properties;
 
 import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.databinding.EMFObservables;
 import org.eclipse.jface.databinding.swt.SWTObservables;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
@@ -25,7 +26,6 @@ import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
 import org.fortiss.tooling.kernel.model.FortissToolingKernelPackage;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
-import org.fortiss.tooling.kernel.ui.databinding.Observables;
 import org.fortiss.tooling.kernel.ui.extension.base.PropertySectionBase;
 
 /**
@@ -73,12 +73,12 @@ public class NamedCommentedPropertySection extends PropertySectionBase {
 	public void refresh() {
 		super.refresh();
 
-		IObservableValue modelObservable = Observables.observeValue(
+		IObservableValue modelObservable = EMFObservables.observeValue(
 				namedCommented,
 				FortissToolingKernelPackage.Literals.INAMED_ELEMENT__NAME);
 		dbc.bindValue(SWTObservables.observeText(nameText, SWT.FocusOut),
 				modelObservable, null, null);
-		modelObservable = Observables
+		modelObservable = EMFObservables
 				.observeValue(
 						namedCommented,
 						FortissToolingKernelPackage.Literals.INAMED_COMMENTED_ELEMENT__COMMENT);
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorViewPart.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorViewPart.java
index 9909358270f4283c4af7c7af19669e9ab6605408..fe47cf1ddf9385b8cb0bdc437e20a6acdbb4df6c 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorViewPart.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorViewPart.java
@@ -64,6 +64,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelEditorBindingService;
 import org.fortiss.tooling.kernel.ui.service.INavigatorService;
 import org.fortiss.tooling.kernel.ui.service.IPropertiesService;
 import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils;
+import org.fortiss.tooling.kernel.ui.util.ModelElementLabelProvider;
 
 /**
  * {@link ViewPart} of the model navigator provided by the tooling kernel.
@@ -127,7 +128,7 @@ public final class NavigatorViewPart extends ViewPart implements
 		IDecoratorManager decoratorManager = PlatformUI.getWorkbench()
 				.getDecoratorManager();
 		viewer.setLabelProvider(new DecoratingLabelProvider(
-				new NavigatorTreeLabelProvider(), decoratorManager
+				new ModelElementLabelProvider(), decoratorManager
 						.getLabelDecorator()));
 		viewer.setContentProvider(new NavigatorTreeContentProvider());
 
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeLabelProvider.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/ModelElementLabelProvider.java
similarity index 78%
rename from org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeLabelProvider.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/ModelElementLabelProvider.java
index 56baecb76f94aa3b3cc4645667c86ed8405cf87f..14bf57e7bb7dfbb212bb01e23a8202b73a5df2bf 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeLabelProvider.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/ModelElementLabelProvider.java
@@ -15,51 +15,47 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.ui.internal.views;
+package org.fortiss.tooling.kernel.ui.util;
 
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jface.viewers.BaseLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.swt.graphics.Image;
 import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler;
 import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
 
 /**
- * {@link ILabelProvider} for the model navigator tree.
  * 
- * @author hoelzlf
+ * @author mou
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: FFAE22D5782B4A3DB33744FDE430B00D
+ * @ConQAT.Rating RED Hash:
  */
-public final class NavigatorTreeLabelProvider extends BaseLabelProvider
-		implements ILabelProvider {
-
+public class ModelElementLabelProvider extends LabelProvider {
 	/** {@inheritDoc} */
 	@Override
-	public Image getImage(Object element) {
-		// delegate to the model element handlers
+	public String getText(Object element) {
 		if (element instanceof EObject) {
 			IModelElementHandler<EObject> handler = IModelElementHandlerService.INSTANCE
 					.getModelElementHandler((EObject) element);
-			if (handler != null) {
-				return handler.getIcon();
-			}
+
+			if (handler != null)
+				return handler.getName((EObject) element);
 		}
-		return null;
+
+		return super.getText(element);
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public String getText(Object element) {
-		// delegate to the model element handlers
+	public Image getImage(Object element) {
 		if (element instanceof EObject) {
 			IModelElementHandler<EObject> handler = IModelElementHandlerService.INSTANCE
 					.getModelElementHandler((EObject) element);
-			if (handler != null) {
-				return handler.getName((EObject) element);
-			}
+
+			if (handler != null)
+				return handler.getIcon();
 		}
-		return "";
+
+		return super.getImage(element);
 	}
 }