I think most of these 
```
return new RegisterPage(getDriver());
```
can be replaced by 
```
return this;
```
as long as the method doesn't change the page in a way that the annotated fields will be changed.