Better docs and invariants on PageController