I'm having to temporalily "un-refactor" change to IObservationProvider name pending a IP issue question that affects 3rd part dependencies.
diff --git a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/AbstractLifecycleListener.java b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/AbstractLifecycleListener.java
index 038c5fd..623c378 100644
--- a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/AbstractLifecycleListener.java
+++ b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/AbstractLifecycleListener.java
@@ -50,58 +50,58 @@
 

     /**

      * @param observed

-     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observationEnd(org.eclipse.amp.axf.core.ILifecyle)

+     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observationEnd(org.eclipse.amp.axf.core.IObservationProvider)

      */

-    public void observationEnd(ILifecyle observed) {

+    public void observationEnd(IObservationProvider observed) {

     }

 

     /**

      * @param observed

-     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observationEnding(org.eclipse.amp.axf.core.ILifecyle)

+     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observationEnding(org.eclipse.amp.axf.core.IObservationProvider)

      */

-    public void observationEnding(ILifecyle observed) {

+    public void observationEnding(IObservationProvider observed) {

     }

 

     /**

      * @param observed

-     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeCreate(org.eclipse.amp.axf.core.ILifecyle)

+     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeCreate(org.eclipse.amp.axf.core.IObservationProvider)

      */

-    public void observeCreate(ILifecyle observed) {

+    public void observeCreate(IObservationProvider observed) {

     }

 

     /**

      * @param observed

-     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeInitialize(org.eclipse.amp.axf.core.ILifecyle)

+     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeInitialize(org.eclipse.amp.axf.core.IObservationProvider)

      */

-    public void observeInitialize(ILifecyle observed) {

+    public void observeInitialize(IObservationProvider observed) {

     }

 

     /**

      * @param observed

-     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeStart(org.eclipse.amp.axf.core.ILifecyle)

+     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeStart(org.eclipse.amp.axf.core.IObservationProvider)

      */

-    public void observeStart(ILifecyle observed) {

+    public void observeStart(IObservationProvider observed) {

     }

 

     /**

      * @param observed

-     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeStop(org.eclipse.amp.axf.core.ILifecyle)

+     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeStop(org.eclipse.amp.axf.core.IObservationProvider)

      */

-    public void observeStop(ILifecyle observed) {

+    public void observeStop(IObservationProvider observed) {

     }

 

     /**

      * @param observed

-     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeUpdate(org.eclipse.amp.axf.core.ILifecyle)

+     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observeUpdate(org.eclipse.amp.axf.core.IObservationProvider)

      */

-    public void observeUpdate(ILifecyle observed) {

+    public void observeUpdate(IObservationProvider observed) {

     }

 

     /**

      * @param observed

-     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observing(org.eclipse.amp.axf.core.ILifecyle)

+     * @see org.eclipse.amp.axf.core.ILifeCycleListener#observing(org.eclipse.amp.axf.core.IObservationProvider)

      */

-    public void observing(ILifecyle observed) {

+    public void observing(IObservationProvider observed) {

     }

 

     /**

diff --git a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IEngine.java b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IEngine.java
index 6ed45cf..4a59282 100644
--- a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IEngine.java
+++ b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IEngine.java
@@ -85,7 +85,7 @@
      * 

      * @return the model

      */

-    ILifecyle getModel();

+    IObservationProvider getModel();

 

     /**

      * Sets the update granularity. This defines how often observers expect to receive state change notifications.

diff --git a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/ILifeCycleListener.java b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/ILifeCycleListener.java
index 05a0e4e..ccda033 100644
--- a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/ILifeCycleListener.java
+++ b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/ILifeCycleListener.java
@@ -31,7 +31,7 @@
      * 
      * @param observed the observed
      */
-    public void observing(ILifecyle observed);
+    public void observing(IObservationProvider observed);
 
 
     /**
@@ -40,21 +40,21 @@
      * 
      * @param observed the model event
      */
-    public void observeCreate(ILifecyle observed);
+    public void observeCreate(IObservationProvider observed);
 
     /**
      * Notifies that the model's initial state has been reached.
      * 
      * @param observed the observed
      */
-    public void observeInitialize(ILifecyle observed);
+    public void observeInitialize(IObservationProvider observed);
 
     /**
      * Notifies that the model is just starting execution.
      * 
      * @param observed the model event
      */
-    public void observeStart(ILifecyle observed);
+    public void observeStart(IObservationProvider observed);
 
     /**
      * Notifies that the model has completed one period of execution at the appropriate level of granularity. Currently
@@ -62,7 +62,7 @@
      * 
      * @param observed the model event
      */
-    public void observeUpdate(ILifecyle observed);
+    public void observeUpdate(IObservationProvider observed);
 
     /**
      * Notifies that the model has stopped execution. This does not imply that the model is dead, simply that it will no
@@ -71,14 +71,14 @@
      * 
      * @param observed the model event
      */
-    public void observeStop(ILifecyle observed);
+    public void observeStop(IObservationProvider observed);
 
     /**
      * Notifies that the model is about to be closed. The model should still be available for observation at this point.
      * 
      * @param observed the model event
      */
-    public void observationEnding(ILifecyle observed);
+    public void observationEnding(IObservationProvider observed);
 
     /**
      * Notifies that the model is no longer providing observations. Typically it has been disposed at this point.
@@ -87,6 +87,6 @@
      * 
      * @see modelAdded
      */
-    public void observationEnd(ILifecyle observed);
+    public void observationEnd(IObservationProvider observed);
 
 }
diff --git a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IModel.java b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IModel.java
index 77d2793..9e2c56d 100644
--- a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IModel.java
+++ b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IModel.java
@@ -20,7 +20,7 @@
 /**
  * The Interface IModel.
  */
-public interface IModel extends ILifecyle, ILifecycleNotifier {
+public interface IModel extends IObservationProvider, ILifecycleNotifier {
 
     /**
      * Gets the time description.
diff --git a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/ILifecyle.java b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IObservationProvider.java
similarity index 98%
rename from org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/ILifecyle.java
rename to org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IObservationProvider.java
index 0afd353..6dd3d5c 100644
--- a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/ILifecyle.java
+++ b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/IObservationProvider.java
@@ -57,7 +57,7 @@
  * 

  * See individual states for more details.

  */

-public interface ILifecyle {

+public interface IObservationProvider {

 

     /**

      * Has the model been created? Should return true if observable start time components have been created. It is up to

diff --git a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/LifecycleObservationAdapter.java b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/LifecycleObservationAdapter.java
index c4c7c97..b5e9967 100644
--- a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/LifecycleObservationAdapter.java
+++ b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.core/src/org/eclipse/amp/axf/core/LifecycleObservationAdapter.java
@@ -39,8 +39,8 @@
      * @see org.eclipse.amp.axf.core.IStateListener#stateChange(java.lang.Object, java.lang.Object)

      */

     public void stateChange(Object notifyType, Object observed) {

-        if (notifyType instanceof LifeCycleState && observed instanceof ILifecyle) {

-            ILifecyle provider = (ILifecyle) observed;

+        if (notifyType instanceof LifeCycleState && observed instanceof IObservationProvider) {

+            IObservationProvider provider = (IObservationProvider) observed;

             switch ((LifeCycleState) notifyType) {

                 case OBSERVED:

                     lifeCycleListener.observing(provider);