When I say "update the DOM", I'm really saying "redraw the canvas". The current approach is just updating the DOM's JavaScript runtime object for that HTML, which as far as I can tell doesn't require a redraw.

I have a working replacement but because of the way JavaScript is built, it's unfortunately hard to read:
```coffee
unless index = parent.data 'has_many_index'
  parent.data 'has_many_index', parent.find('fieldset').length
  index = parent.data 'has_many_index'

regex = new RegExp elem.data('placeholder'), 'g'
html  = elem.data('html').replace regex, index++