Fix flickering of overlay icon on card when it loads before the card image. Refactor to card directive. Add ngtemplates support