I am using `LoadableComponent<T>` in a Selenium testing project. I have an application with a main page (modeled as `MainPage.java`) from which I go to login page (`LoginPage`). I enter some credentials and the login form is redirecting me (if credentials are valid) to the `MainPage` again, enabling some extra functionalities. Because I use `MainPage` as starting point for many tests, I had to implement `load()` method for `MainPage` with a valid URL. So if I am doing something like:

```
MainPage mainpage=new MainPage();
mainpage.get();
LoginPage loginPage=mainpage.clickLogin();
loginPage.setUser("whatever").setPassword("totally_secret");
mainpage = loginPage.clickJoin();
mainpage.get();

```

I cannot be sure if the action which directs me to the `mainpage` was succesful or not, because anyway, the last call will load the page. On the other hand if I call `clickJoin()` method without assigning the returned object to a variable, I cannot validate if the correct page is loaded and I cannot get a reference to its methods in order to continue the test. I could also make `clickJoin()` method return void, but then how do I get the reference to the new page in the test?
How should I deal with it?