render() {
    let style = { ...actionAreaStyle.style, ...this.props.style };
    if (this.state.isHovered) {
      style = {
        ...style,
        ...actionAreaStyle.hoverStyle,
        ...this.props.hoverStyle,
      };
    }

    if (this.state.isActive) {
      style = {
        ...style,
        ...actionAreaStyle.activeStyle,
        ...this.props.activeStyle,
      };
    }

    return (
      <div
        role="button"
        {...this.childProps}
        onMouseDown={ this._onMouseDown }
        onMouseUp={ this._onMouseUp }
        onMouseEnter={ this._onMouseEnter }
        onMouseLeave={ this._onMouseLeave }
        onTouchStart={ this._onTouchStart }
        onTouchEnd={ this._onTouchEnd }
        onTouchCancel={ this._onTouchCancel }
        onClick={ this._onClick }
        style={ style }
      >
        { this.props.children }
      </div>
    );
  }
Updates the button to be release and makes sure the next onMouseEnter is
ignored.