So looking at this more after having writing some tests I think we're better off just checking the state and throwing based off of that:
```php
    if ($this->state != 'redeemable') {
      throw new Recurly_Error('Coupon is not redeemable.');
    }
```