Provide a higher level interface to domain
Simplify syntax
Merge branch 'spike/cleaner-refactor' into development