Wow. I don't really like the idea of the path encoding being on the ObjectReader. I would instead prefer exposing the repository configuration, or some other configuration source.

That may simplify some contexts because then you can get the CoreConfig or something similar from the ObjectReader.