code: function (eventObject, overrideProperties) {
          overrideProperties = overrideProperties || {};
          this.__eventObject = eventObject;
          var that = this;
          Object.keys(overrideProperties).forEach(function (propertyName) {
              Object.defineProperty(that, propertyName, {
                  value: overrideProperties[propertyName]
              });
          });
      }
docs: Sets the properties in *overrideProperties* on the object. Delegates all other property accesses to *eventObject*.  The purpose of PointerEventProxy is that it allows us to customize properties on an eventObject despite those properties being unwritable and unconfigurable.