nitpick: I don't see a ton of value in making the `ViewEngine` a public property. It's not part of the *state* of the result, it's more of a detail.