Yes, that's what it was intended for. IMHO it's probably best to split it up into two separate methods and use a more consistent naming scheme.
```php
public function setDefaultLayoutAttribute($where, $key, $value) { }
public function setDefaultLayout($where, array $layout) { }
```
But I'm not perfectly happy with that naming either...