[WIP] Interface change rebased (3)

This is a rebased of gh-265 on top of today's master.

All tests should now pass.