move widget height calculation into factory; calculate height for frame wrapper as well