Major improvements to the structure. Each widget now has its own model, and the process of retrieving and assembling a page is abstracted properly.