Improve layout abstractions