Component now accepts external templates passed into view