Support custom components within templates