WIP: More refinements on new API

Falling into place, lacks documentation and test cases.