constructor(parent) {
      super(parent)
      this.addEventListener('mouseover', hoverOverHandler)
      this.addEventListener('mouseout', hoverOutHandler)
      this.addEventListener('mousedown', activeDownHandler)
      this.addEventListener('mouseup', activeUpHandler)
    }
Allows a facade to be configured with an optional `pointerStates` property, which defines
sets of property values that should be used in place of the object's actual values when
the user interacts with the facade using their pointer device (mouse, touch, vr controller, etc.)
This is not used directly, but is automatically wrapped by `ParentFacade` and `ListFacade` when
setting up their children if the `pointerStates` property is present.

The `pointerStates` property should point to an object with `hover` and/or `active` properties,
each of which is an object holding the individual properties to be used in those states. Any
properties defined in `active` will take precedence over those defined in `hover`.

The properties will honor any `transition`s defined for them, but the `transition` must be
defined on the facade's main configuration object, not within the pointerStates themselves.