Add domain interface for provider and finish execute.
Standardize on accessor or access for getters.
Add example test and simple domain object.
* Update function names.
* Add domain requirement.