Refactor library methods to not pass things around and move DSL wrappers to provider
Release 0.3.8

Refactor library methods to not pass things around and move DSL wrappers to provider
Merge branch 'release/0.3.8'