The DAG functionality extracted from Ember.js