               set: (val)->
                 @[__v] = val
                 to.call(@_entity, val)
+              enumerable:true
             }
         else if type =='string'
           config = (__v, v, to) ->

              set: (val)->
                @[__v] = val
                @_entity[to] = val
            }
      else
        config = (__v, v) ->

            set: (val)->
              @[__v] = val
              @_entity[v] = val
            enumerable:true
          }
      Object.defineProperty(prototype, v, config('__' + v, v, to))
  return @
