extract deps and files in a similar way

This one just removes the `out` variable that is passed through some of the methods, and makes it work similar to how the `this.files` prop does. It makes it a little clearer what's going on hopefully. Later on it would be ideal if the `Duo` object didn't keep track of state, but that would require some more work probably. All tests pass woohoo!

/cc @MatthewMueller @ianstormtaylor