Yes and no... yes this is private, but this makes it very easy to test with custom objects (as you see in the unit tests).

I can prefix them with `_` so that it's clear that it's private, but I think keeping them accessible makes it easier to test.

If I prefix them with `_` now, this should warn and prevent any developer from using it, and maybe in a later patch we can revisit this? Would it be good enough for you?