code: function setInternal(that, propertyList, value, options) {
      if(propertyList.length === 0) throw new Error("You can't set at the top-level, setting like that only works for ObserveeChild (sub-observees created with 'get')")
  
      var pointer = getPropertyPointer(that.subject, propertyList)
  
      var internalObservee = value
      if(options.union === true) {
          value = value.subject
      }
  
      pointer.obj[pointer.key] = value
  
      var event = {type: 'set', property: propertyList}
      if(options.data !== undefined) event.data = event.id = options.data
      that.emit('change',event)
  
      if(options.union !== undefined)
          unionizeEvents(that, internalObservee, propertyList, options.union)
  }
docs: that - the Observee object