The only advantage with the private static arrays, was ability to call ONE single line of renderButton code in each of the 3 buttons (view, update, delete). 

Secondly, the code is more readable as to what is exactly defaulted. Thirdly, for future code extension, only the private static arrays need to be touched, than going and changing each of the functions.


So for example, I have just these 3 lines now:
```php
return $this->renderButton($this->viewOptions, self::$_defaultView, $url); // for view button
return $this->renderButton($this->updateOptions, self::$_defaultUpdate, $url); // for update
return $this->renderButton($this->deleteOptions, self::$_defaultDelete, $url); // for delete
```

If I remove this, I need to repeat the lines of code for each of the buttons with the hardcoded string variables as you pointed out.

For view button:
```php
$label = ArrayHelper::remove($this->viewOptions, 'label', '<span class="glyphicon glyphicon-eye-open"></span>'); 
$options = array_replace(['title' => Yii::t('yii', 'View')], $this->viewOptions); 
```

For update
```php
$label = ArrayHelper::remove($this->updateOptions, 'label', '<span class="glyphicon glyphicon-pencil"></span>'); 
$options = array_replace(['title' => Yii::t('yii', 'Update')], $this->updateOptions); 
```

For delete
```php
$label = ArrayHelper::remove($this->updateOptions, 'label', '<span class="glyphicon glyphicon-pencil"></span>'); 
$options = array_replace([
    'title' => Yii::t('yii', 'Delete'),
    'data-confirm' => 'Are you sure to delete this item?',
    'data-method' => 'post'
    ], $this->deleteOptions); 
```

Is this what you guys feel is right? I can do the changes if you all feel this is the better way.