Add support for engine types and update templates to act accordingly