Unfortunately the reason that this is not documented is that we don’t plan to offer it as a library (yet). Our objective right now is to ensure everything works as good as possible and this forces us to change things around quite heavily based on feedback and things we discover. We will soon mark all modules as private (underscore prefixes).
I know this is a bummer but please understand that we need to prioritise not shooting ourselves in the foot too early and given how much we we changing things until we get it exactly right I know is the right choice.
Perhaps in 3.16 ![]()
(Moving the post back to ideas)