I think the API for how these will be used is still in a state of flux. Worth annotating with `@Beta` at least, and perhaps warning that it may change in the next release.