Made Page a schema rather than a model

It makes sense now
Edited other models accordingly
Fixed an apply bug during panel construction
Various fixes