@bekos I see what you're saying. I'm relying on the implicit `undefined` from the var declaration, and the variable name isn't the best. What do you think of this?

```javascript
element.bind(buttonsCtrl.toggleEvent, function () {
  var isActive = element.hasClass(buttonsCtrl.activeClass),
      shouldUpdateValue = !isActive || angular.isDefined(attrs.uncheckable);

  if (shouldUpdateValue) {
    var newValue = isActive ? undefined : scope.$eval(attrs.btnRadio);
    scope.$apply(function () {
      ngModelCtrl.$setViewValue(newValue);
      ngModelCtrl.$render();
    });
  }
});
```