TRN-487a looks ready to commit: first need to work on docs and naming.