Thanks everyone.
Got it looking good now. Even got the icon scaling animation in. I stop using ZO_ScrollList for the highlighting and did it manually. This is the same way that the default inventory does in inventory.lua and inventoryslot.lua. I was able to then reuse the existing virtual animation templates.