Вот это jsfiddel :
class Overlay
constructor: ->
@header = $("<div> header</div>")
@footer = $("<div> footer</div>")
get: ->
@popup = $("<div></div>").append(@header).append(@footer)
@popup.clone(true)
overlay = new Overlay
overlay_extend = {}
$.extend(true,overlay_extend,overlay)
overlay_extend.header.append("<div>more header</div>")
overlay.header.appendTo("body")
В jsfiddle я изменил расширенный элемент dom, а оригинальный dom изменился. Есть новые идеи.