Big refactoring, renamed "Service" to "Component" whenever it was referring to the thing that has dependencies and registers itself as a service.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@994969 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java
index 8791c0b..c75c5a0 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java
@@ -24,7 +24,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -50,8 +50,8 @@
        // helper class that ensures certain steps get executed in sequence
        Ensure e = new Ensure();
        // create a service provider and consumer
-       Service sp = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceAbstract.class.getName(), null);
-       Service sc = m.createService().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceAbstract.class).setRequired(true).setCallbacks("bind", "unbind"));
+       Component sp = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceAbstract.class.getName(), null);
+       Component sc = m.createComponent().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceAbstract.class).setRequired(true).setCallbacks("bind", "unbind"));
        m.add(sp);
        m.add(sc);
        m.remove(sp);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterTest.java
index 3424a4f..ea1de1f 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterTest.java
@@ -23,7 +23,7 @@
 import static org.ops4j.pax.exam.CoreOptions.provision;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -49,10 +49,10 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service sp = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sp2 = m.createService().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface2.class.getName(), null);
-        Service sc = m.createService().setImplementation(new ServiceConsumer()).add(m.createServiceDependency().setService(ServiceInterface3.class).setRequired(true));
-        Service sa = m.createAdapterService(ServiceInterface.class, null).setInterface(ServiceInterface3.class.getName(), null).setImplementation(new ServiceAdapter(e));
+        Component sp = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sp2 = m.createComponent().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface2.class.getName(), null);
+        Component sc = m.createComponent().setImplementation(new ServiceConsumer()).add(m.createServiceDependency().setService(ServiceInterface3.class).setRequired(true));
+        Component sa = m.createAdapterService(ServiceInterface.class, null).setInterface(ServiceInterface3.class.getName(), null).setImplementation(new ServiceAdapter(e));
         m.add(sc);
         m.add(sp);
         m.add(sp2);
@@ -102,7 +102,7 @@
         private Ensure m_ensure;
         private volatile ServiceInterface m_originalService;
         private volatile ServiceInterface2 m_injectedService;
-        private volatile Service m_service;
+        private volatile Component m_service;
         private volatile DependencyManager m_manager;
         
         public ServiceAdapter(Ensure e) {
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterWithExtraDependenciesTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterWithExtraDependenciesTest.java
index 7b318b6..fbfbe9d 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterWithExtraDependenciesTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterWithExtraDependenciesTest.java
@@ -5,7 +5,7 @@
 import static org.ops4j.pax.exam.CoreOptions.provision;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -32,21 +32,21 @@
         Ensure e = new Ensure();
         
         // create a service adapter that adapts to services S1 and has an optional dependency on services S2
-        Service sa = m.createAdapterService(S1.class, null)
+        Component sa = m.createAdapterService(S1.class, null)
             .setImplementation(SA.class)
             .add(m.createServiceDependency().setService(S2.class).setCallbacks("add", "remove"));
         m.add(sa);
         
         // create a service S1, which triggers the creation of the first adapter instance (A1)
-        Service s1 = m.createService().setInterface(S1.class.getName(), null).setImplementation(new S1Impl());
+        Component s1 = m.createComponent().setInterface(S1.class.getName(), null).setImplementation(new S1Impl());
         m.add(s1);
         
         // create a service S2, which will be added to A1
-        Service s2 = m.createService().setInterface(S2.class.getName(), null).setImplementation(new S2Impl(e));
+        Component s2 = m.createComponent().setInterface(S2.class.getName(), null).setImplementation(new S2Impl(e));
         m.add(s2);
         
         // create a second service S1, which triggers the creation of the second adapter instance (A2)
-        Service s1b = m.createService().setInterface(S1.class.getName(), null).setImplementation(new S1Impl());
+        Component s1b = m.createComponent().setInterface(S1.class.getName(), null).setImplementation(new S1Impl());
         m.add(s1b);
         
         // observe that S2 is also added to A2
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectBaseTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectBaseTest.java
index 8f27ff5..766db6b 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectBaseTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectBaseTest.java
@@ -29,7 +29,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.apache.felix.dm.ServiceUtil;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -63,9 +63,9 @@
         // create a service provider and consumer
         ServiceProvider p = new ServiceProvider(e, "a");
         ServiceConsumer c = new ServiceConsumer(e);
-        Service sp = m.createService().setImplementation(p).setInterface(ServiceInterface.class.getName(), new Properties() {{ put("name", "a"); }});
-        Service sc = m.createService().setImplementation(c).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true).setCallbacks("add", "remove").setAutoConfig(true));
-        Service sa = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(ServiceAspect.class);
+        Component sp = m.createComponent().setImplementation(p).setInterface(ServiceInterface.class.getName(), new Properties() {{ put("name", "a"); }});
+        Component sc = m.createComponent().setImplementation(c).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true).setCallbacks("add", "remove").setAutoConfig(true));
+        Component sa = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(ServiceAspect.class);
         m.add(sc);
         m.add(sp);
         // after the provider was added, the consumer's add should have been invoked once
@@ -96,9 +96,9 @@
         // create a service provider and consumer
         ServiceProvider p = new ServiceProvider(e, "a");
         ServiceConsumer c = new ServiceConsumer(e);
-        Service sp = m.createService().setImplementation(p).setInterface(ServiceInterface.class.getName(), new Properties() {{ put("name", "a"); }});
-        Service sc = m.createService().setImplementation(c).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true).setCallbacks("add", "remove").setAutoConfig(true));
-        Service sa = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(ServiceAspect.class);
+        Component sp = m.createComponent().setImplementation(p).setInterface(ServiceInterface.class.getName(), new Properties() {{ put("name", "a"); }});
+        Component sc = m.createComponent().setImplementation(c).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true).setCallbacks("add", "remove").setAutoConfig(true));
+        Component sa = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(ServiceAspect.class);
         // we first add the aspect
         m.add(sa);
         // then the service provider
@@ -134,11 +134,11 @@
         
         // create service providers and consumers
         ServiceConsumer c = new ServiceConsumer(e);
-        Service sp = m.createService().setImplementation(new ServiceProvider(e, "a")).setInterface(ServiceInterface.class.getName(), new Properties() {{ put("name", "a"); }});
-        Service sp2 = m.createService().setImplementation(new ServiceProvider(e, "b")).setInterface(ServiceInterface.class.getName(), new Properties() {{ put("name", "b"); }});
-        Service sc = m.createService().setImplementation(c).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true).setCallbacks("add", "remove"));
-        Service sa = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(ServiceAspect.class);
-        Service sa2 = m.createAspectService(ServiceInterface.class, null, 10, null).setImplementation(ServiceAspect.class);
+        Component sp = m.createComponent().setImplementation(new ServiceProvider(e, "a")).setInterface(ServiceInterface.class.getName(), new Properties() {{ put("name", "a"); }});
+        Component sp2 = m.createComponent().setImplementation(new ServiceProvider(e, "b")).setInterface(ServiceInterface.class.getName(), new Properties() {{ put("name", "b"); }});
+        Component sc = m.createComponent().setImplementation(c).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true).setCallbacks("add", "remove"));
+        Component sa = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(ServiceAspect.class);
+        Component sa2 = m.createAspectService(ServiceInterface.class, null, 10, null).setImplementation(ServiceAspect.class);
         m.add(sp);
         m.add(sp2);
         m.add(sa);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectChainTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectChainTest.java
index 78e772d..ccebee3 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectChainTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectChainTest.java
@@ -23,7 +23,7 @@
 import static org.ops4j.pax.exam.CoreOptions.provision;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -49,11 +49,11 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service sp = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sc = m.createService().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
-        Service sa2 = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(new ServiceAspect(e, 3));
-        Service sa3 = m.createAspectService(ServiceInterface.class, null, 30, null).setImplementation(new ServiceAspect(e, 2));
-        Service sa1 = m.createAspectService(ServiceInterface.class, null, 10, null).setImplementation(new ServiceAspect(e, 4));
+        Component sp = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sc = m.createComponent().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
+        Component sa2 = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(new ServiceAspect(e, 3));
+        Component sa3 = m.createAspectService(ServiceInterface.class, null, 30, null).setImplementation(new ServiceAspect(e, 2));
+        Component sa1 = m.createAspectService(ServiceInterface.class, null, 10, null).setImplementation(new ServiceAspect(e, 4));
         m.add(sc);
 
         m.add(sp);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectDynamicsTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectDynamicsTest.java
index bba5788..9197694 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectDynamicsTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectDynamicsTest.java
@@ -23,7 +23,7 @@
 import static org.ops4j.pax.exam.CoreOptions.provision;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -49,10 +49,10 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service sp = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sp2 = m.createService().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface2.class.getName(), null);
-        Service sc = m.createService().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
-        Service sa = m.createAspectService(ServiceInterface.class, null, 1, null).setImplementation(new ServiceAspect(e));
+        Component sp = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sp2 = m.createComponent().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface2.class.getName(), null);
+        Component sc = m.createComponent().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
+        Component sa = m.createAspectService(ServiceInterface.class, null, 1, null).setImplementation(new ServiceAspect(e));
         m.add(sc);
         m.add(sp);
         e.waitForStep(3, 15000);
@@ -105,7 +105,7 @@
         private final Ensure m_ensure;
         private volatile ServiceInterface m_originalService;
         private volatile ServiceInterface2 m_injectedService;
-        private volatile Service m_service;
+        private volatile Component m_service;
         private volatile DependencyManager m_manager;
         
         public ServiceAspect(Ensure e) {
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectWhiteboardTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectWhiteboardTest.java
index fc0d65e..216d317 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectWhiteboardTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectWhiteboardTest.java
@@ -28,7 +28,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.apache.felix.dm.ServiceUtil;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -57,12 +57,12 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create service providers and consumer
-        Service sp1 = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sp2 = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sp1 = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sp2 = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
         ServiceConsumer sci = new ServiceConsumer(e);
-        Service sc = m.createService().setImplementation(sci).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(false).setCallbacks("add", "remove"));
-        Service sa2 = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(new ServiceAspect(e, 3));
-        Service sa1 = m.createAspectService(ServiceInterface.class, null, 10, null).setImplementation(new ServiceAspect(e, 4));
+        Component sc = m.createComponent().setImplementation(sci).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(false).setCallbacks("add", "remove"));
+        Component sa2 = m.createAspectService(ServiceInterface.class, null, 20, null).setImplementation(new ServiceAspect(e, 3));
+        Component sa1 = m.createAspectService(ServiceInterface.class, null, 10, null).setImplementation(new ServiceAspect(e, 4));
         
         // start with a service consumer
         System.out.println("Adding consumer");
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/BundleDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/BundleDependencyTest.java
index 5563a57..fb69bfc 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/BundleDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/BundleDependencyTest.java
@@ -24,7 +24,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -50,7 +50,7 @@
         DependencyManager m = new DependencyManager(context);
         // create a service provider and consumer
         Consumer c = new Consumer();
-        Service consumer = m.createService().setImplementation(c).add(m.createBundleDependency().setCallbacks("add", "remove"));
+        Component consumer = m.createComponent().setImplementation(c).add(m.createBundleDependency().setCallbacks("add", "remove"));
         // add the service consumer
         m.add(consumer);
         // check if at least one bundle was found
@@ -62,7 +62,7 @@
         
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
-        Service consumerWithFilter = m.createService().setImplementation(new FilteredConsumer(e)).add(m.createBundleDependency().setFilter("(Bundle-SymbolicName=org.apache.felix.dependencymanager)").setCallbacks("add", "remove"));
+        Component consumerWithFilter = m.createComponent().setImplementation(new FilteredConsumer(e)).add(m.createBundleDependency().setFilter("(Bundle-SymbolicName=org.apache.felix.dependencymanager)").setCallbacks("add", "remove"));
         // add a consumer with a filter
         m.add(consumerWithFilter);
         e.step(2);
@@ -79,7 +79,7 @@
         
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
-        Service consumerWithFilter = m.createService()
+        Component consumerWithFilter = m.createComponent()
             .setImplementation(new FilteredConsumerRequired(e))
             .add(m.createBundleDependency()
                 .setRequired(true)
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ComponentLifeCycleTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ComponentLifeCycleTest.java
index 365a73a..d3d94eb 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ComponentLifeCycleTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ComponentLifeCycleTest.java
@@ -23,7 +23,7 @@
 import static org.ops4j.pax.exam.CoreOptions.provision;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -49,7 +49,7 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a simple service component
-        Service s = m.createService().setImplementation(new ComponentInstance(e));
+        Component s = m.createComponent().setImplementation(new ComponentInstance(e));
         // add it, and since it has no dependencies, it should be activated immediately
         m.add(s);
         // remove it so it gets destroyed
@@ -64,7 +64,7 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a simple service component
-        Service s = m.createService().setImplementation(new CustomComponentInstance(e)).setCallbacks("a", "b", "c", "d");
+        Component s = m.createComponent().setImplementation(new CustomComponentInstance(e)).setCallbacks("a", "b", "c", "d");
         // add it, and since it has no dependencies, it should be activated immediately
         m.add(s);
         // remove it so it gets destroyed
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/CompositionTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/CompositionTest.java
index ca4249f..6d8d763 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/CompositionTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/CompositionTest.java
@@ -23,7 +23,7 @@
 import static org.ops4j.pax.exam.CoreOptions.provision;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -49,8 +49,8 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service sp = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sc = m.createService().setImplementation(new ServiceConsumer(e))
+        Component sp = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sc = m.createComponent().setImplementation(new ServiceConsumer(e))
                                       .setComposition("getComposition")
                                       .add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true).setCallbacks("add", null));
         m.add(sp);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ConfigurationDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ConfigurationDependencyTest.java
index 28cef89..c665da4 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ConfigurationDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ConfigurationDependencyTest.java
@@ -29,7 +29,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -59,9 +59,9 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service s1 = m.createService().setImplementation(new ConfigurationConsumer(e)).setInterface(Runnable.class.getName(), null).add(m.createConfigurationDependency().setPid("test").setPropagate(true));
-        Service s2 = m.createService().setImplementation(new ConfigurationCreator(e)).add(m.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true));
-        Service s3 = m.createService().setImplementation(new ConfiguredServiceConsumer(e)).add(m.createServiceDependency().setService(Runnable.class, ("(testkey=testvalue)")).setRequired(true));
+        Component s1 = m.createComponent().setImplementation(new ConfigurationConsumer(e)).setInterface(Runnable.class.getName(), null).add(m.createConfigurationDependency().setPid("test").setPropagate(true));
+        Component s2 = m.createComponent().setImplementation(new ConfigurationCreator(e)).add(m.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true));
+        Component s3 = m.createComponent().setImplementation(new ConfiguredServiceConsumer(e)).add(m.createServiceDependency().setService(Runnable.class, ("(testkey=testvalue)")).setRequired(true));
         m.add(s1);
         m.add(s2);
         m.add(s3);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/CustomDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/CustomDependencyTest.java
index 83081aa..2514013 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/CustomDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/CustomDependencyTest.java
@@ -41,7 +41,7 @@
         Toggle toggle = new Toggle();
         
         // create a service that has our custom dependency as its only dependency
-        dm.add(dm.createService()
+        dm.add(dm.createComponent()
             .setImplementation(new ServiceImpl(e))
             .add(new CustomDependency(toggle))
             );
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/DynamicProxyAspectTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/DynamicProxyAspectTest.java
index 085ee9e..3488462 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/DynamicProxyAspectTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/DynamicProxyAspectTest.java
@@ -29,7 +29,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -56,18 +56,18 @@
         Ensure e = new Ensure();
         
         // create two service providers, each providing a different service interface
-        Service sp1 = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sp2 = m.createService().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface2.class.getName(), null);
+        Component sp1 = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sp2 = m.createComponent().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface2.class.getName(), null);
         
         // create a dynamic proxy based aspect and hook it up to both services
-        Service a1 = m.createAspectService(ServiceInterface.class, null, 10, "m_service")
+        Component a1 = m.createAspectService(ServiceInterface.class, null, 10, "m_service")
             .setFactory(new Factory(e, ServiceInterface.class, "ServiceInterfaceProxy"), "create");
-        Service a2 = m.createAspectService(ServiceInterface2.class, null, 10, "m_service")
+        Component a2 = m.createAspectService(ServiceInterface2.class, null, 10, "m_service")
             .setFactory(new Factory(e, ServiceInterface2.class, "ServiceInterfaceProxy2"), "create");
 
         // create a client that invokes a method on boths services, validate that it goes
         // through the proxy twice
-        Service sc = m.createService()
+        Component sc = m.createComponent()
             .setImplementation(new ServiceConsumer(e))
             .add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true))
             .add(m.createServiceDependency().setService(ServiceInterface2.class).setRequired(true))
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2078_ServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2078_ServiceDependencyTest.java
index f7a92dc..dbba777 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2078_ServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2078_ServiceDependencyTest.java
@@ -23,7 +23,7 @@
 import static org.ops4j.pax.exam.CoreOptions.provision;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -49,9 +49,9 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service sp = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sp2 = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sc = m.createService().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true).setCallbacks("add", "remove"));
+        Component sp = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sp2 = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sc = m.createComponent().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true).setCallbacks("add", "remove"));
         m.add(sp);
         m.add(sp2);
         System.out.println("adding client");
@@ -71,9 +71,9 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service sp = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sp2 = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sc = m.createService().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(false).setCallbacks("add", "remove"));
+        Component sp = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sp2 = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sc = m.createComponent().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(false).setCallbacks("add", "remove"));
         m.add(sp);
         m.add(sp2);
         m.add(sc);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2344_ExtraDependencyWithAutoConfigTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2344_ExtraDependencyWithAutoConfigTest.java
index 1edebcf..b783faa 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2344_ExtraDependencyWithAutoConfigTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2344_ExtraDependencyWithAutoConfigTest.java
@@ -24,7 +24,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -53,13 +53,13 @@
         // Helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // Create a service provider
-        Service sp = m.createService().setInterface(ProviderInterface.class.getName(), null).setImplementation(ProviderImpl.class);
+        Component sp = m.createComponent().setInterface(ProviderInterface.class.getName(), null).setImplementation(ProviderImpl.class);
         // Create a service consumer with a required/autoconfig dependency over the service provider.
         Client c1;
-        Service sc1 = m.createService().setImplementation((c1 = new Client(e, true, 1)));
+        Component sc1 = m.createComponent().setImplementation((c1 = new Client(e, true, 1)));
         // Create a second service consumer with an optional/autoconfig dependency over the service provider.
         Client c2;
-        Service sc2 = m.createService().setImplementation(c2 = new Client(e, false, 3));
+        Component sc2 = m.createComponent().setImplementation(c2 = new Client(e, false, 3));
 
         // Add service provider and consumer sc1 (required dependency over provider)
         m.add(sc1);
@@ -99,7 +99,7 @@
             m_startStep = startStep;
         }
         
-        public void init(Service s) {
+        public void init(Component s) {
             DependencyManager dm = s.getDependencyManager();
             s.add(dm.createServiceDependency()
                 .setInstanceBound(true)
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2344_ExtraDependencyWithCallbackTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2344_ExtraDependencyWithCallbackTest.java
index 9d3842d..aedc88d 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2344_ExtraDependencyWithCallbackTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2344_ExtraDependencyWithCallbackTest.java
@@ -24,7 +24,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -56,10 +56,10 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service consumer and provider
-        Service sp = m.createService().setInterface(ProviderInterface.class.getName(), null).setImplementation(ProviderImpl.class);
-        Service sc = m.createService().setImplementation(new Client(e, false, 1));
-        Service sc2 = m.createService().setImplementation(new Client(e, true, 5));
-        Service sc3 = m.createService().setImplementation(new Client(e, true, 9));
+        Component sp = m.createComponent().setInterface(ProviderInterface.class.getName(), null).setImplementation(ProviderImpl.class);
+        Component sc = m.createComponent().setImplementation(new Client(e, false, 1));
+        Component sc2 = m.createComponent().setImplementation(new Client(e, true, 5));
+        Component sc3 = m.createComponent().setImplementation(new Client(e, true, 9));
         
         // add the provider first, then add the consumer which initially will have no dependencies
         // but via the init() method an optional dependency with a callback method will be added
@@ -102,7 +102,7 @@
             m_startStep = startStep;
         }
 
-        public void init(Service s) {
+        public void init(Component s) {
             DependencyManager dm = s.getDependencyManager();
             m_ensure.step(m_startStep);
             s.add(dm.createServiceDependency()
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2348_ResourceAdapterTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2348_ResourceAdapterTest.java
index 3ce5a1b..260213b 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2348_ResourceAdapterTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2348_ResourceAdapterTest.java
@@ -65,7 +65,7 @@
         Ensure e = new Ensure();
         m.add(m.createResourceAdapterService("(&(path=/path/to/*.txt)(host=localhost))", false, null, "changed")
               .setImplementation(new ResourceAdapter(e)));
-        m.add(m.createService().setImplementation(new ResourceProvider(e)).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove")));
+        m.add(m.createComponent().setImplementation(new ResourceProvider(e)).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove")));
         e.waitForStep(3, 5000);
      }
     
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2369_ExtraDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2369_ExtraDependencyTest.java
index ac20af2..4420f09 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2369_ExtraDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2369_ExtraDependencyTest.java
@@ -24,7 +24,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -55,8 +55,8 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service consumer and provider
-        Service sp1 = m.createService().setInterface(MyService1.class.getName(), null).setImplementation(new MyService1Impl());
-        Service sc = m.createService().setImplementation(new MyClient(e, 1));
+        Component sp1 = m.createComponent().setInterface(MyService1.class.getName(), null).setImplementation(new MyService1Impl());
+        Component sc = m.createComponent().setImplementation(new MyClient(e, 1));
         
         // provides the MyService1 service (but not the MyService2, which is required by MyClient).
         m.add(sp1);
@@ -90,7 +90,7 @@
             m_startStep = startStep;
         }
         
-        public void init(Service s) {
+        public void init(Component s) {
             DependencyManager dm = s.getDependencyManager();
             m_ensure.step(m_startStep);
             s.add(dm.createServiceDependency() // this dependency is available at this point
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FactoryConfigurationAdapterTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FactoryConfigurationAdapterTest.java
index ae9ef78..063a373 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FactoryConfigurationAdapterTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FactoryConfigurationAdapterTest.java
@@ -30,7 +30,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -63,7 +63,7 @@
         
         // Create a Configuration instance, which will create/update/remove a configuration for factoryPid "MyFactoryPid"
         ConfigurationCreator configurator = new ConfigurationCreator("MyFactoryPid", "key", "value1");
-        Service s1 = m.createService()
+        Component s1 = m.createComponent()
             .setImplementation(configurator)
             .add(m.createServiceDependency()
                 .setService(ConfigurationAdmin.class)
@@ -71,7 +71,7 @@
 
         // Create an Adapter that will be instantiated, once the configuration is created.
         // This Adapter provides an AdapterService, and depends on an AdapterExtraDependency service.
-        Service s2 = m.createFactoryConfigurationAdapterService("MyFactoryPid", "updated", true /* propagate CM settings */)
+        Component s2 = m.createFactoryConfigurationAdapterService("MyFactoryPid", "updated", true /* propagate CM settings */)
                       .setInterface(AdapterService.class.getName(), new Properties() {{ put("foo", "bar"); }})
                       .setImplementation(Adapter.class);
 
@@ -81,12 +81,12 @@
             .setAutoConfig(true));
         
         // Create extra adapter service dependency upon which our adapter depends on.
-        Service s3 = m.createService()
+        Component s3 = m.createComponent()
             .setImplementation(new AdapterExtraDependency())
             .setInterface(AdapterExtraDependency.class.getName(), null);
         
         // Create an AdapterService Consumer
-        Service s4 = m.createService()
+        Component s4 = m.createComponent()
             .setImplementation(AdapterServiceConsumer.class)
             .add(m.createServiceDependency()
                 .setService(AdapterService.class)
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleExtraDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleExtraDependencyTest.java
index a29d35f..622b661 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleExtraDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleExtraDependencyTest.java
@@ -25,7 +25,7 @@
 import java.util.Hashtable;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -54,7 +54,7 @@
         DependencyManager m = new DependencyManager(context);
         Ensure e = new Ensure();
         
-        Service sp2 = m.createService()
+        Component sp2 = m.createComponent()
               .setImplementation(ServiceProvider2.class).setInterface(ServiceProvider2.class.getName(), null)
               .add(m.createServiceDependency()
                    .setService(Runnable.class, "(foo=bar)")
@@ -67,7 +67,7 @@
               .setCallbacks(null, "start", "stop", null)
               .setComposition("getComposition");
         
-        Service sp = m.createService()
+        Component sp = m.createComponent()
               .setImplementation(ServiceProvider.class)
               .setInterface(ServiceInterface.class.getName(), 
                             new Hashtable() {{ put("foo", "bar"); }})
@@ -81,7 +81,7 @@
                    .setCallbacks("bind", "unbind"))
               .setCallbacks(null, "start", "stop", null);
         
-        Service sc = m.createService()
+        Component sc = m.createComponent()
               .setImplementation(ServiceConsumer.class)
               .add(m.createServiceDependency()
                    .setService(Sequencer.class)
@@ -94,8 +94,8 @@
               .setCallbacks(null, "start", "stop", null);
         
         // Provide the Sequencer service to the MultipleAnnotationsTest class.
-        Service sequencer = 
-            m.createService().setImplementation(new SequencerImpl(e))
+        Component sequencer = 
+            m.createComponent().setImplementation(new SequencerImpl(e))
                              .setInterface(Sequencer.class.getName(), null);
         m.add(sp2);
         m.add(sp);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleExtraDependencyTest2.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleExtraDependencyTest2.java
index b3d0348..ca0f263 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleExtraDependencyTest2.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleExtraDependencyTest2.java
@@ -25,7 +25,7 @@
 import java.util.Hashtable;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.apache.felix.dm.ServiceDependency;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -55,23 +55,23 @@
         DependencyManager m = new DependencyManager(context);
         Ensure e = new Ensure();
         
-        Service sp2 = m.createService()
+        Component sp2 = m.createComponent()
             .setImplementation(ServiceProvider2.class).setInterface(ServiceProvider2.class.getName(), null)
             .setCallbacks("init", "start", "stop", null)
             .setComposition("getComposition");
         
-        Service sp = m.createService()
+        Component sp = m.createComponent()
               .setImplementation(ServiceProvider.class)
               .setInterface(ServiceInterface.class.getName(), new Hashtable() {{ put("foo", "bar"); }})                            
               .setCallbacks("init", "start", "stop", null);
         
-        Service sc = m.createService()
+        Component sc = m.createComponent()
               .setImplementation(ServiceConsumer.class)
               .setCallbacks("init", "start", "stop", null);
         
         // Provide the Sequencer service to the MultipleAnnotationsTest class.
-        Service sequencer = 
-            m.createService().setImplementation(new SequencerImpl(e))
+        Component sequencer = 
+            m.createComponent().setImplementation(new SequencerImpl(e))
                              .setInterface(Sequencer.class.getName(), null);
         m.add(sp2);
         m.add(sp);
@@ -140,7 +140,7 @@
         volatile ServiceInterface m_service;
         ServiceDependency m_d1, m_d2;
 
-        public void init(Object serviceInstance, DependencyManager m, Service s)
+        public void init(Object serviceInstance, DependencyManager m, Component s)
         {
            s.add(m_d1 = m.createServiceDependency()
                    .setService(Sequencer.class)
@@ -174,7 +174,7 @@
         ServiceProvider2 m_serviceProvider2;
         ServiceDependency m_d1, m_d2;
 
-        public void init(Object serviceInstance, DependencyManager m, Service s)
+        public void init(Object serviceInstance, DependencyManager m, Component s)
         {
             s.add(m_d1 = m.createServiceDependency()
                   .setService(Sequencer.class)
@@ -224,7 +224,7 @@
         Runnable m_runnable;
         ServiceDependency m_d1, m_d2;
 
-        public void init(Object serviceInstance, DependencyManager m, Service s)
+        public void init(Object serviceInstance, DependencyManager m, Component s)
         {
             s.add(m_d1 = m.createServiceDependency()
                   .setService(Runnable.class, "(foo=bar)")
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleServiceDependencyTest.java
index 9c9e14f..4ac455d 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleServiceDependencyTest.java
@@ -25,7 +25,7 @@
 import java.util.Properties;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -52,9 +52,9 @@
        // helper class that ensures certain steps get executed in sequence
        Ensure e = new Ensure();
        // create a service provider and consumer
-       Service provider = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-       Service providerWithHighRank = m.createService().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface.class.getName(), new Properties() {{ put(Constants.SERVICE_RANKING, Integer.valueOf(5)); }});
-       Service consumer = m.createService().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
+       Component provider = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+       Component providerWithHighRank = m.createComponent().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface.class.getName(), new Properties() {{ put(Constants.SERVICE_RANKING, Integer.valueOf(5)); }});
+       Component consumer = m.createComponent().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
        m.add(provider);
        m.add(providerWithHighRank);
        m.add(consumer);
@@ -73,9 +73,9 @@
        // helper class that ensures certain steps get executed in sequence
        Ensure e = new Ensure();
        // create a service provider and consumer
-       Service provider = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-       Service provider2 = m.createService().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface.class.getName(), null);
-       Service consumer = m.createService().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
+       Component provider = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+       Component provider2 = m.createComponent().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface.class.getName(), null);
+       Component consumer = m.createComponent().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
        m.add(provider2);
        m.add(consumer);
        e.waitForStep(3, 15000);
@@ -94,9 +94,9 @@
        // helper class that ensures certain steps get executed in sequence
        Ensure e = new Ensure();
        // create a service provider and consumer
-       Service provider = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-       Service provider2 = m.createService().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface.class.getName(), null);
-       Service consumer = m.createService().setImplementation(new ServiceConsumer(e))
+       Component provider = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+       Component provider2 = m.createComponent().setImplementation(new ServiceProvider2(e)).setInterface(ServiceInterface.class.getName(), null);
+       Component consumer = m.createComponent().setImplementation(new ServiceConsumer(e))
          .add(m.createServiceDependency()
               .setService(ServiceInterface.class)
               .setRequired(true)
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceAdapterTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceAdapterTest.java
index 5b35732..1ed189b 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceAdapterTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceAdapterTest.java
@@ -66,7 +66,7 @@
         // create a resource provider
         ResourceProvider provider = new ResourceProvider(e);
         // activate it
-        m.add(m.createService().setImplementation(provider).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove")));
+        m.add(m.createComponent().setImplementation(provider).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove")));
         // create a resource adapter for our single resource
         // note that we can provide an actual implementation instance here because there will be only one
         // adapter, normally you'd want to specify a Class here
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceDependencyTest.java
index 42905b7..af70bb9 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceDependencyTest.java
@@ -36,7 +36,7 @@
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.ResourceHandler;
 import org.apache.felix.dm.ResourceUtil;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -66,17 +66,17 @@
         Ensure e = new Ensure();
         // create a service provider and consumer
         ResourceConsumer c = new ResourceConsumer(e);
-        Service consumer = m.createService()
+        Component consumer = m.createComponent()
             .setImplementation(c)
             .add(m.createResourceDependency()
                 .setFilter("(&(path=/path/to/*.txt)(host=localhost))")
                 .setCallbacks("add", "remove"));
-        Service dynamicProxyConsumer = m.createService()
+        Component dynamicProxyConsumer = m.createComponent()
             .setFactory(new ResourceConsumerFactory(e), "create")
             .add(m.createResourceDependency()
                     .setFilter("(path=*.doc)")
                     .setCallbacks("add", null)); 
-        Service resourceProvider = m.createService()
+        Component resourceProvider = m.createComponent()
             .setImplementation(new ResourceProvider(e))
             .add(m.createServiceDependency()
                 .setService(ResourceHandler.class)
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java
index 9d15c5b..e24529b 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyInjectionTest.java
@@ -24,7 +24,7 @@
 import junit.framework.Assert;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -49,9 +49,9 @@
         DependencyManager m = new DependencyManager(context);
         // create a service provider and consumer
         ServiceProvider provider = new ServiceProvider();
-        Service sp = m.createService().setImplementation(provider).setInterface(ServiceInterface2.class.getName(), null);
-        Service sc = m.createService().setImplementation(new ServiceConsumer()).add(m.createServiceDependency().setService(ServiceInterface2.class).setRequired(true));
-        Service sc2 = m.createService()
+        Component sp = m.createComponent().setImplementation(provider).setInterface(ServiceInterface2.class.getName(), null);
+        Component sc = m.createComponent().setImplementation(new ServiceConsumer()).add(m.createServiceDependency().setService(ServiceInterface2.class).setRequired(true));
+        Component sc2 = m.createComponent()
             .setImplementation(new ServiceConsumerNamedInjection())
             .add(m.createServiceDependency().setService(ServiceInterface2.class).setRequired(false).setAutoConfig("m_service"))
             .add(m.createServiceDependency().setService(ServiceInterface2.class).setRequired(false).setAutoConfig("m_service2"))
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyPropagateTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyPropagateTest.java
index 5f445e2..49f2b3d 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyPropagateTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyPropagateTest.java
@@ -27,7 +27,7 @@
 import java.util.Map;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -59,16 +59,16 @@
         DependencyManager m = new DependencyManager(context);
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
-        Service c1 = m.createService()
+        Component c1 = m.createComponent()
                       .setImplementation(new C1(e))
                       .add(m.createServiceDependency().setService(C2.class).setRequired(true).setCallbacks("bind", null));
 
-        Service c2 = m.createService()
+        Component c2 = m.createComponent()
                       .setInterface(C2.class.getName(), new Hashtable() {{ put("foo", "bar"); }})
                       .setImplementation(new C2())
                       .add(m.createServiceDependency().setService(C3.class).setRequired(true).setPropagate(true));
 
-        Service c3 = m.createService()
+        Component c3 = m.createComponent()
                       .setInterface(C3.class.getName(), new Hashtable() {{ put("foo2", "bar2"); }})
                       .setImplementation(new C3());
         
@@ -88,17 +88,17 @@
         DependencyManager m = new DependencyManager(context);
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
-        Service c1 = m.createService()
+        Component c1 = m.createComponent()
                       .setImplementation(new C1(e))
                       .add(m.createServiceDependency().setService(C2.class).setRequired(true).setCallbacks("bind", null));
 
         C2 c2Impl = new C2();
-        Service c2 = m.createService()
+        Component c2 = m.createComponent()
                       .setInterface(C2.class.getName(), new Hashtable() {{ put("foo", "bar"); }})
                       .setImplementation(c2Impl)
                       .add(m.createServiceDependency().setService(C3.class).setRequired(true).setPropagate(c2Impl, "getServiceProperties"));
         
-        Service c3 = m.createService()
+        Component c3 = m.createComponent()
                       .setInterface(C3.class.getName(), null)
                       .setImplementation(new C3());
         
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyTest.java
index 094ead7..a2fb67b 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyTest.java
@@ -23,7 +23,7 @@
 import static org.ops4j.pax.exam.CoreOptions.provision;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -49,9 +49,9 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service sp = m.createService().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
-        Service sc = m.createService().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
-        Service sc2 = m.createService().setImplementation(new ServiceConsumerCallbacks(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(false).setCallbacks("add", "remove"));
+        Component sp = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceInterface.class.getName(), null);
+        Component sc = m.createComponent().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(true));
+        Component sc2 = m.createComponent().setImplementation(new ServiceConsumerCallbacks(e)).add(m.createServiceDependency().setService(ServiceInterface.class).setRequired(false).setCallbacks("add", "remove"));
         m.add(sp);
         m.add(sc);
         m.remove(sc);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java
index 726a0aa..ca57153 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java
@@ -32,7 +32,7 @@
 import org.apache.felix.dm.ResourceDependency;
 import org.apache.felix.dm.ResourceHandler;
 import org.apache.felix.dm.ResourceUtil;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.apache.felix.dm.ServiceDependency;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -66,10 +66,10 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service provider = m.createService().setImplementation(new ServiceProvider()).setInterface(ServiceInterface.class.getName(), null);
+        Component provider = m.createComponent().setImplementation(new ServiceProvider()).setInterface(ServiceInterface.class.getName(), null);
         ServiceDependency dependency = m.createServiceDependency().setService(ServiceInterface.class).setRequired(true);
-        Service consumer1 = m.createService().setImplementation(new ServiceConsumer(e, 1)).add(dependency);
-        Service consumer2 = m.createService().setImplementation(new ServiceConsumer(e, 4)).add(dependency);
+        Component consumer1 = m.createComponent().setImplementation(new ServiceConsumer(e, 1)).add(dependency);
+        Component consumer2 = m.createComponent().setImplementation(new ServiceConsumer(e, 4)).add(dependency);
         
         m.add(provider);
         m.add(consumer1);
@@ -87,10 +87,10 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service provider = m.createService().setImplementation(new ConfigurationProvider(e)).add(m.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true));
+        Component provider = m.createComponent().setImplementation(new ConfigurationProvider(e)).add(m.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true));
         ConfigurationDependency dependency = m.createConfigurationDependency().setPid("test");
-        Service consumer1 = m.createService().setImplementation(new ConfigurationConsumer(e, 2)).add(dependency);
-        Service consumer2 = m.createService().setImplementation(new ConfigurationConsumer(e, 3)).add(dependency);
+        Component consumer1 = m.createComponent().setImplementation(new ConfigurationConsumer(e, 2)).add(dependency);
+        Component consumer2 = m.createComponent().setImplementation(new ConfigurationConsumer(e, 3)).add(dependency);
         
         // add the configuration provider that should publish the configuration as step 1
         m.add(provider);
@@ -119,8 +119,8 @@
         Ensure e = new Ensure();
         // create a service provider and consumer
         BundleDependency dependency = m.createBundleDependency().setFilter("(Bundle-SymbolicName=org.apache.felix.dependencymanager)").setRequired(true);
-        Service consumer1 = m.createService().setImplementation(new BundleConsumer(e, 1)).add(dependency);
-        Service consumer2 = m.createService().setImplementation(new BundleConsumer(e, 2)).add(dependency);
+        Component consumer1 = m.createComponent().setImplementation(new BundleConsumer(e, 1)).add(dependency);
+        Component consumer2 = m.createComponent().setImplementation(new BundleConsumer(e, 2)).add(dependency);
         
         m.add(consumer1);
         e.waitForStep(1, 15000);
@@ -137,9 +137,9 @@
         Ensure e = new Ensure();
         // create a service provider and consumer
         ResourceDependency dependency = m.createResourceDependency().setFilter("(" + ResourceHandler.HOST + "=localhost)").setRequired(true);
-        Service consumer1 = m.createService().setImplementation(new ResourceConsumer(e, 1)).add(dependency);
-        Service consumer2 = m.createService().setImplementation(new ResourceConsumer(e, 2)).add(dependency);
-        Service resourceProvider = m.createService().setImplementation(new ResourceProvider()).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove"));;
+        Component consumer1 = m.createComponent().setImplementation(new ResourceConsumer(e, 1)).add(dependency);
+        Component consumer2 = m.createComponent().setImplementation(new ResourceConsumer(e, 2)).add(dependency);
+        Component resourceProvider = m.createComponent().setImplementation(new ResourceProvider()).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove"));;
         m.add(resourceProvider);
         m.add(consumer1);
         e.waitForStep(1, 15000);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/TemporalServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/TemporalServiceDependencyTest.java
index 15d4fea..eed5f52 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/TemporalServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/TemporalServiceDependencyTest.java
@@ -23,7 +23,7 @@
 import static org.ops4j.pax.exam.CoreOptions.provision;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -49,9 +49,9 @@
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service sp = m.createService().setImplementation(new TemporalServiceProvider(e)).setInterface(TemporalServiceInterface.class.getName(), null);
-        Service sp2 = m.createService().setImplementation(new TemporalServiceProvider2(e)).setInterface(TemporalServiceInterface.class.getName(), null);
-        Service sc = m.createService().setImplementation(new TemporalServiceConsumer(e)).add(m.createTemporalServiceDependency().setService(TemporalServiceInterface.class).setRequired(true));
+        Component sp = m.createComponent().setImplementation(new TemporalServiceProvider(e)).setInterface(TemporalServiceInterface.class.getName(), null);
+        Component sp2 = m.createComponent().setImplementation(new TemporalServiceProvider2(e)).setInterface(TemporalServiceInterface.class.getName(), null);
+        Component sc = m.createComponent().setImplementation(new TemporalServiceConsumer(e)).add(m.createTemporalServiceDependency().setService(TemporalServiceInterface.class).setRequired(true));
         // add the service consumer
         m.add(sc);
         // now add the first provider
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AdapterAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AdapterAnnotationTest.java
index d0473cc..67677d7 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AdapterAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AdapterAnnotationTest.java
@@ -64,7 +64,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer to the adapeter bundle service (see main/src/.../adapter/*.java). 
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), null));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), null));
         m_ensure.waitForStep(4, 10000);
     }
 }
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AnnotationBase.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AnnotationBase.java
index c9786c9..7293166 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AnnotationBase.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AnnotationBase.java
@@ -82,7 +82,7 @@
      */
     protected void registerSequencer(DependencyManager m, final String testName) 
     {
-        m.add(m.createService()
+        m.add(m.createComponent()
               .setImplementation(this)
               .setInterface(Sequencer.class.getName(),new Hashtable() {{
                   put("test", testName);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectAnnotationTest.java
index d66bab0..6c389aa 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectAnnotationTest.java
@@ -68,12 +68,12 @@
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer to the "ServiceProvider" service (see main/src/.../AspectTest.java). 
         Dictionary props = new Hashtable() {{ put("test", "aspect.ServiceProvider"); }};
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props));
         // Check if the ServiceProvider has been injected in the AspectTest service.
         m_ensure.waitForStep(1, 10000);
         // Provide the Sequencer for activating the ServiceProviderAspect service
         props = new Hashtable() {{ put("test", "aspect.ServiceProviderAspect"); }};
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props));
         // And check if the AspectTest has been injected with the aspect
         m_ensure.waitForStep(2, 10000);
     }
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectLifecycleAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectLifecycleAnnotationTest.java
index e01e230..22bc90b 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectLifecycleAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectLifecycleAnnotationTest.java
@@ -27,7 +27,7 @@
 import java.util.Hashtable;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.apache.felix.dm.test.BundleGenerator;
 import org.apache.felix.dm.test.bundle.annotation.sequencer.Sequencer;
 import org.junit.Test;
@@ -70,12 +70,12 @@
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer server to the ServiceProvider service
         Dictionary props = new Hashtable() {{ put("test", "aspectLifecycle.ServiceProvider"); }};
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props));
         // Check if the ServiceProvider has been injected in the AspectTest service.
         m_ensure.waitForStep(1, 10000);
         // Provide the Sequencer server to the ServiceProviderAspect service
         props = new Hashtable() {{ put("test", "aspectLifecycle.ServiceProviderAspect"); }};
-        Service seq = m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props);
+        Component seq = m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props);
         m.add(seq);
         // Check if the AspectTest has been injected with the aspect
         m_ensure.waitForStep(3, 10000);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectLifecycleWithDynamicProxyAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectLifecycleWithDynamicProxyAnnotationTest.java
index df9ccd5..1a3b4a9 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectLifecycleWithDynamicProxyAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/AspectLifecycleWithDynamicProxyAnnotationTest.java
@@ -27,7 +27,7 @@
 import java.util.Hashtable;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.apache.felix.dm.test.BundleGenerator;
 import org.apache.felix.dm.test.bundle.annotation.sequencer.Sequencer;
 import org.junit.Test;
@@ -70,12 +70,12 @@
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer server to the ServiceProvider service
         Dictionary props = new Hashtable() {{ put("test", "aspectLifecycle.ServiceProvider"); }};
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props));
         // Check if the ServiceProvider has been injected in the AspectTest service.
         m_ensure.waitForStep(1, 10000);
         // Provide the Sequencer server to the ServiceProviderAspect service
         props = new Hashtable() {{ put("test", "aspectLifecycle.ServiceProviderAspect"); }};
-        Service seq = m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props);
+        Component seq = m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props);
         m.add(seq);
         // Check if the AspectTest has been injected with the aspect
         m_ensure.waitForStep(3, 10000);
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/BundleDependencyAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/BundleDependencyAnnotationTest.java
index 900c442..f78d5f9 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/BundleDependencyAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/BundleDependencyAnnotationTest.java
@@ -70,7 +70,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         Properties props = new Properties() {{ put("test", "consumer"); }};
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props));
         m_ensure.waitForStep(1, 10000);
         super.stopBundle("BundleDependencyTest", context);
         m_ensure.waitForStep(2, 10000);
@@ -85,7 +85,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         Properties props = new Properties() {{ put("test", "adapter"); }};
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props));
         m_ensure.waitForStep(3, 10000);
     }    
 }
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/CompositeAnnotationsTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/CompositeAnnotationsTest.java
index e4a807b..157cf1d 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/CompositeAnnotationsTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/CompositeAnnotationsTest.java
@@ -64,7 +64,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer service to the "Component" service.
-        m.add(m.createService() .setImplementation(this).setInterface(Sequencer.class.getName(), null));
+        m.add(m.createComponent() .setImplementation(this).setInterface(Sequencer.class.getName(), null));
         // Check if the components have been initialized orderly
         m_ensure.waitForStep(4, 10000);
         // Stop the bundle
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ExtraServicePropertiesTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ExtraServicePropertiesTest.java
index 16ab1e6..f2e28d5 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ExtraServicePropertiesTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ExtraServicePropertiesTest.java
@@ -69,7 +69,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer service to the "Component" service.
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), 
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), 
                                                                      new Hashtable() {{ put("test", "ExtraServiceProperties"); }}));
         m_ensure.waitForStep(2, 10000);
     }
@@ -82,7 +82,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer service to the "Component" service.
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), 
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), 
                                                                      new Hashtable() {{ put("test", "ExtraFactoryServiceProperties"); }}));
         m_ensure.waitForStep(3, 10000);
     }
@@ -95,7 +95,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer service to the "Component" service.
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), 
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), 
                                                                      new Hashtable() {{ put("test", "ExtraAdapterServiceProperties"); }}));
         m_ensure.waitForStep(3, 10000);
     }
@@ -108,7 +108,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer service to the "Component" service.
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), 
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), 
                                                                      new Hashtable() {{ put("test", "ExtraAspectServiceProperties"); }}));
         m_ensure.waitForStep(3, 10000);
     }
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/FactoryConfigurationAdapterAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/FactoryConfigurationAdapterAnnotationTest.java
index b7558bb..5448241 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/FactoryConfigurationAdapterAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/FactoryConfigurationAdapterAnnotationTest.java
@@ -72,7 +72,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer to the adapter bundle service (see main/src/.../factoryconfadapter/*.java). 
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), null));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), null));
         ConfigurationAdmin cm = (ConfigurationAdmin) context.getService(context.getServiceReference(ConfigurationAdmin.class.getName()));
         try
         {
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/MultipleAnnotationsTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/MultipleAnnotationsTest.java
index 5f07547..65602ea 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/MultipleAnnotationsTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/MultipleAnnotationsTest.java
@@ -64,7 +64,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer service to the MultipleAnnotationsTest class.
-        m.add(m.createService()
+        m.add(m.createComponent()
             .setImplementation(this)
             .setInterface(Sequencer.class.getName(), null));
         // Check if the test.annotation components have been initialized orderly
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ResourceAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ResourceAnnotationTest.java
index 1eb3bd3..6d30931 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ResourceAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ResourceAnnotationTest.java
@@ -70,7 +70,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         Properties props = new Properties() {{ put("test", "resource"); }};
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props));
         super.stopBundle("ResourceTest", context);
         m_ensure.waitForStep(1, 10000);
     }
@@ -84,7 +84,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         Properties props = new Properties() {{ put("test", "adapter"); }};
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), props));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), props));
         super.stopBundle("ResourceTest", context);
         m_ensure.waitForStep(2, 10000);
     }
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ServiceFactoryAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ServiceFactoryAnnotationTest.java
index f2c9edd..4a3a3d9 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ServiceFactoryAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/ServiceFactoryAnnotationTest.java
@@ -61,7 +61,7 @@
         {
             DependencyManager m = new DependencyManager(context);
             // We provide ourself as a "Sequencer" service to the annotated bundles. 
-            m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), null));
+            m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), null));
             // Check if the test.annotation components have been initialized orderly
             m_ensure.waitForStep(10, 10000);
         }        
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/SimpleAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/SimpleAnnotationTest.java
index 1d1f2d6..fc0e429 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/SimpleAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/SimpleAnnotationTest.java
@@ -64,7 +64,7 @@
     {
         DependencyManager m = new DependencyManager(context);
         // We provide ourself as a "Sequencer" service to the annotated bundles. 
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), null));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), null));
         // Check if the test.annotation components have been initialized orderly
         m_ensure.waitForStep(3, 10000);
         // Stop our annotation bundle.
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/TemporalAnnotationTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/TemporalAnnotationTest.java
index dee8d89..9704f14 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/TemporalAnnotationTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/annotation/TemporalAnnotationTest.java
@@ -27,7 +27,7 @@
 import java.util.Hashtable;
 
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
 import org.apache.felix.dm.test.BundleGenerator;
 import org.apache.felix.dm.test.Ensure;
 import org.apache.felix.dm.test.bundle.annotation.sequencer.Sequencer;
@@ -69,18 +69,18 @@
     {
         DependencyManager m = new DependencyManager(context);
         // Provide the Sequencer service to the TemporalServiceDependencyTest service. 
-        m.add(m.createService().setImplementation(this).setInterface(Sequencer.class.getName(), null));
+        m.add(m.createComponent().setImplementation(this).setInterface(Sequencer.class.getName(), null));
                  
         Runnable r = Ensure.createRunnableStep(m_ensure, 1);
         Dictionary props = new Hashtable() {{ put("test", "temporal"); }};
-        Service s = m.createService().setImplementation(r).setInterface(Runnable.class.getName(), props);        
+        Component s = m.createComponent().setImplementation(r).setInterface(Runnable.class.getName(), props);        
         m.add(s);
         m_ensure.waitForStep(1, 15000);
         m.remove(s);
         m_ensure.step(2);
         sleep(500);
         r = Ensure.createRunnableStep(m_ensure, 3);
-        s = m.createService().setImplementation(r).setInterface(Runnable.class.getName(), props);
+        s = m.createComponent().setImplementation(r).setInterface(Runnable.class.getName(), props);
         m.add(s);
         m_ensure.waitForStep(3, 15000);
         m.remove(s);