     Object.defineProperty @, key,
       value: value
       enumerable: false
+      configurable: false
+      writable: true
+
+  addOwnProperty: (key, value)->
+    Object.defineProperty @, key,
+      value: value
+      enumerable: true
       configurable: false
       writable: true
 

    else
      @scope = undefined

  append: (controller)->
    @yield or= @el.find('[ui-yield]')[0] or @el[0]
    $(@yield).append controller.el or controller

            switch @scope[key]
              when '@' then childScope.addProperty key, "'#{string}'", @parentScope
              when '=' then childScope.addProperty key, string, @parentScope
              else childScope.addOwnProperty key, @scope[key]
          else 
            if @scope[key] isnt '=' and @scope[key] isnt '@'
              childScope.addOwnProperty key, @scope[key] 
            else
              childScope.addOwnProperty key, undefined
      else if @scope is '@'
        for key, value of @el[0].dataset
          childScope.addProperty key, "'#{value}'", @parentScope
