Lubomir,
Using a checking method returning a boolean in the superclass and then calling it from the at checker of the child class would work but I would advise you to rethink your approach to your usage of at checkers in general.
- wait for the page to fully load when dealing with single page apps
They were not designed to verify that content on a given page is rendered as expected which is what you seem to be doing. Given that at checkers are executed every time page verification is performed (e.g. calling to()) it's best to keep them simple and quick (e.g. just checking the title of the page) so that you do not slow down your tests unnecessarily by performing the same verification over and over again. I would therefore suggest having a separate test for each page that only once verifies that the expected elements are displayed when you navigate to a given page instead of performing such verification in the at checker.
I'm glad that you enjoy using Geb.
Cheers,
Marcin