If injecting dependencies to a page fails in DefaultPageFactory.newPage, the exception message is a bit misleading:
"Can't instantiate page using constructor '...' and argument '...'. Might be it doesn't exist, may be it is not visible (public)."
It could also mention the possibility of failing to inject the dependencies, which seems to be the case in many occasions.
Even better, when calling the constructor fails, it could check the existence and visibility of the constructor instead of guessing what was the problem.