It's tested directly, which makes it public in my view. We'd have to override privacy protection in the tests if we changed it.

All that being equal I still lean a little towards keeping it public. It seems like a useful if someone wants to create a construct without any of the lifecycle stuff.