This is a followup to #31220 (comment) where it would be nice if we could make the abstract Engine class not expose information that made it seem like it has a Translog. This would include functions with Translog in the name, as well as perhaps using return values that aren't sub classes of Translog.
It would be nice if an engine consumer could use an engine without having to know about translog implementation details (or without the presence of a translog, if desired).