Further work on the Layout module. This works as I need it to in terms of the data stored, but not entirely happy with the front end and how it is managed.