diff --git a/modules/core/src/life_cycle/life_cycle.js b/modules/core/src/life_cycle/life_cycle.js
index <HASH>..<HASH> 100644
--- a/modules/core/src/life_cycle/life_cycle.js
+++ b/modules/core/src/life_cycle/life_cycle.js
@@ -1,13 +1,22 @@
 import {FIELD} from 'facade/lang';
 import {ChangeDetector} from 'change_detection/change_detector';
+import {VmTurnZone} from 'core/zone/vm_turn_zone';
 
 export class LifeCycle {
   _changeDetector:ChangeDetector;
-  constructor() {
-    this._changeDetector = null;
+
+  constructor(changeDetector:ChangeDetector) {
+    this._changeDetector = changeDetector;
+  }
+
+  registerWith(zone:VmTurnZone) {
+    zone.initCallbacks({
+      onTurnDone: () => this.tick()
+    });
+    this.tick();
   }
 
-  digest() {
-    _changeDetector.detectChanges();
+  tick() {
+    this._changeDetector.detectChanges();
   }
 }
\ No newline at end of file
feat(LifeCycle): change LifeCycle to be able register it with a zone