A dependency graph implementation