Actually creates promises 'n shit
Uses walk-tree and simplifies things.