// Based on "Continous Redrawing of Objects"
// http://emberjs.com/guides/cookbook/working_with_objects/continuous_redrawing_of_views/
//
// #pulse is updated every ~15-seconds
//
var ClockService = Ember.Object.extend({
  pulse: Ember.computed.oneWay('_minutes').readOnly(),
  tick: function () {
    var clock = this;
    Ember.run.later(function () {
      var minutes = clock.get('_minutes');
      if (typeof minutes === 'number') {
        clock.set('_minutes', minutes + (1/4));
      }
    }, 15000);
  }.observes('_minutes').on('init'),
  _minutes: 0
});

var ClockServiceInitializer = {
  name: "clock-service",

  initialize: function(container, application) {
    container.register('clock:service', ClockService, { singleton: true });
    application.inject('view', 'clock', 'clock:service');
  }
};

export default ClockServiceInitializer;

@@ -321,38 +321,236 @@
     
-Ember.run.later(function 
+// This should be the idiomatic %60Ember.run.later%60 but that%0A    // blocks acceptance tests. This is a workaround from%0A    // https://github.com/emberjs/ember.js/issues/3008%0A    setTimeout(function() %7B%0A      Em.run(function
 () %7B%0A
+  
     
@@ -588,16 +588,18 @@
 utes');%0A
+  
       if
@@ -639,16 +639,18 @@
         
+  
 clock.se
@@ -687,17 +687,28 @@
 ;%0A      
-%7D
+  %7D%0A      %7D)
 %0A    %7D, 

Fix for stalling acceptance tests.