Introduces getPageFactory method and moved storage from BEMPage to Page

I moved down the code for storage as suggested and removed the empty constructor override, which gave the typehint for a `BEMPageFactory`, we could keep it to keep warnings by the IDE.

I did not add any tests, because `getPageFactory` is *protected* and `Page` is currently not using it in any way. But do we really need this getter? Because it is protected and not private and can be accessed directly.