Nit, might be a bit cleaner like:

```js
proto._setAction = function(action) {

  // Remove previous icon class from inner
  if (this.action) {
    this._buttonInner.classList.remove('icon-' + this.action);
    this.action = null;
  }

  // TODO: Action button should be
  // hidden by default then shown
  // only with supported action types
  if (!this._isSupportedAction(action)) {
    this._button.style.display = 'none';
    return;
  }
   
  this._button.style.display = 'block';
  this._buttonInner.classList.add('icon-' + action);
  this._button.setAttribute('action', action);
  this.action = action;
};
```

I may be missing something though :yum: :