View engines have a very specific, constrained purpose. They exist to take data passed to them from the Controller and generate formatted output, usually HTML. Other than those simple responsibilities, or concerns, as the developer you are empowered to achieve the goals of your view in any way that makes you happy.