[hnItem] Expand hnItem to support multiple template depending on the item type.

Create a template for every 'type' an item can be.