Start trialing new API.

This commit introduces a new and incomplete and untested API.  This
is only being exported here for purposes of preview and critique.