More sensible template invoker