Widgets calculate their own size
primitive box is a little more colorful