Dag as method

I'm going to keep pushing to this PR over time.  The tests will not pass until the conversion is completed.