Dsl create

This wraps up the work started last week to do some cleanup in dsl.rb.