Like I said, fetch_object is a complex method, so I don't want to keep rewriting stuff like that for a simple change, nor do I want to add unlimited parameters to make the base method infinitely flexible. That just leads to a different kind of unmaintainability.
Perhaps CR objects are just complex and hard to maintain.