Widgets

I dislike the fact this is a singleton. It's just asking for trouble when you have multiple models on a page (though we can't actually do that yet). Anyway, it'd be really easy to just attach this to the session.