added replace: true on all of the directives, split out data grouping concern into controller, added transclusion to list so the list item html is flexible