This is one thing I do feel strongly about, I don't like "Platypus" types. So let's figure out a way to do it in some other way.
I don't think utility class is the way to go; I rather like actual regular objects. Cost of creating one should be nominal, and can be passed more easily, mocked etc.

I am ok with this getting merged as-is, if that's the easiest way. And then maybe I'll hack something; or if you have good ideas you can do it?