addRippleRemoveEventListener(rippleKey) {
        const self = this;
        const rippleNode = this.rippleNodes[rippleKey];
        events.addEventListenerOnTransitionEnded(rippleNode, function onOpacityEnd(e) {
          if (e.propertyName === 'opacity') {
            if (self.props.onRippleEnded) self.props.onRippleEnded(e);
            events.removeEventListenerOnTransitionEnded(self.rippleNodes[rippleKey], onOpacityEnd);
            // self.rippleNodes = dissoc(rippleKey, self.rippleNodes);
            delete self.rippleNodes[rippleKey];
            self.setState({ ripples: dissoc(rippleKey, self.state.ripples) });
          }
        });
      }
Add an event listener to the reference with given key so when the animation transition
ends we can be sure that it finished and it can be safely removed from the state.
This function is called whenever a new ripple is added to the component.

@param {String} rippleKey Is the key of the ripple to add the event.