What parts of a layout engine make up a data persistence component?