Support arbitrary extra directives and empty/custom template