[widget] Move widget container to widget parts.
[form] Implement diffing.