From my little experience with SS4 so far, I'd say it's easier to just have Page being global and any subclass of Page you build, eg ContactPage, namespaced to your application. At least for the time being that will mean that Page serves as a bridge for 3.x modules that rely on page to easily upgrade

We may need to write down some best-practices for creating modules maybe?

so you just end up needing to work around things.

Because most modules assume things are extending Page.

@robbieaverill @colin We've had things work mostly OK with extending just SiteTree 3.x (work around an old legacy module). But don't do it. It'll become pain.

I used to do that, now I barely touch the Page class unless absolutely necessary 😜

and originally I think SS wanted to give devs a kind of "starting point", which focused heavily on customising the out-of-the-box Page class

@robbieaverill I think technically there's nothing wrong with extending SiteTree / ContentController, it works just fine... I think conceptually, or by convention, Page has become a sort of common point for modules to extend from, since it's in mysite by default.