I've managed to do it keeping the code DRY, but I have to say it was more difficult then it seems. The thing is that to use [dynamically inserted directives](http://stackoverflow.com/questions/19224028/add-directives-from-directive-in-angularjs) we have to stop the compiling process, and re-run it upon the changes. The gotcha here is that ng-repeat happens before this insertion (and it should), so when we try to re-compile the element so does the ng-repeat directive, creating duplicated behavior :(

Well, have a look at the changes I've made in 11de1df0aff37b and see if it's suitable or not.