Refactor util engines to use same basic common methods (templating, file cache..)