i think it bad idea use widget for generate icons. May be helper better way
and ur code is hard for undetstand and not easy
```php
'label' => 'Label',
'icon' => Html::tag('span', '', ['class' => 'icon icon-my'])
```
vs
```php
'label' => 'Label' . Html::tag('span', '', ['class' => 'icon icon-my'])
```

i see profit only in encode labels it's not required if i use icon