fixes #6759: Refactor Widget Composite.