Widgets now hold their own size which must be set by constructor.