integrated with new Widget API
support same widget in a holder or inactive list more than once
support for multiple boxes at the same time
widget IDs
mimic to_yaml's indentation