You don't really need the separate `LAYOUT_FUNCTIONS` and `layoutfns` here. You can do something like:
```python
    ...
    LAYOUT_FUNCTIONS = {'newrow': '_new_row'}
    ....
    def apply_layout_func(self, name):
        return getattr(self, self.LAYOUT_FUNCTIONS[name])()
```