basic horizontal table layout
move CalcLayoutContribution and CalcSize down to Widget, they always belonged there really