introduce page def value object
clean up page_def

- add missing definition
- introduce it to other components
Merge branch 'page_def'