I'd actually use a metadata hydrator here then. That would simplify logic and allow us caching/other fancy stuff.