_removeWatcher() {
        // `getterSetter` can be undefined when a non-input element is used
        if (!AutoNumericHelper.isUndefined(this.getterSetter)) {
            const { set: setter, get: getter } = this.getterSetter;
            Object.defineProperty(this.domElement, this.attributeToWatch, {
                configurable: true, // This is needed in some rare cases
                get         : () => getter.call(this.domElement),
                set         : val => {
                    setter.call(this.domElement, val);
                },
            });
        }

        //FIXME The code above fails for the `textContent` attribute since `this.getterSetter` is undefined when using `getOwnPropertyDescriptor()`
        /* //XXX The code below *almost* work for the textContent, but breaks some unit tests
        this.valueWatched = this.domElement[this.attributeToWatch];
        Object.defineProperty(this.domElement, this.attributeToWatch, {
            configurable: true, // This is needed in some rare cases
            get         : () => this.valueWatched,
            set         : val => {
                this.valueWatched = val;
            },
        });
        */
    }
Remove the watcher on the AutoNumeric-managed element
Note: This needs to be called when the AutoNumeric element is 'removed', otherwise the getter/setter stays on the DOM element and that can lead to problem if the user initialize another AutoNumeric object on it.
@private