Wip/new layout and widgets

This one depends on #604 . Once it's merged, it'll be easier to read the diff.