abstracted controls in page reader/writer

- Added more interface for testability of controls
- Test for the control themselves