Update to add variant support

Preparatory change for the template changes currently being staged. The tests will likely fail until the template push goes through, so will hold off merging till then.