code: function TimeoutModule(Component){
  
    Component.implement({
      /**
       * just like setTimeout, but will enter digest automately
       * @param  {Function} fn    
       * @param  {Number}   delay 
       * @return {Number}   timeoutid
       */
      $timeout: function(fn, delay){
        delay = delay || 0;
        return setTimeout(function(){
          fn.call(this);
          this.$update(); //enter digest
        }.bind(this), delay);
      },
      /**
       * just like setInterval, but will enter digest automately
       * @param  {Function} fn    
       * @param  {Number}   interval 
       * @return {Number}   intervalid
       */
      $interval: function(fn, interval){
        interval = interval || 1000/60;
        return setInterval(function(){
          fn.call(this);
          this.$update(); //enter digest
        }.bind(this), interval);
      }
    });
  }
docs: Timeout Module
  @param {Component} Component