That should work. I think we need to come up with a set of common use-cases and let those drive the API design, though.