Add layout invalidation

:warning: Needs more testing. :warning:

Adds the ability to invalidate the layout. This is different from reloading the data, which involves the data source.