extract input fields into a template with a block-defined number of fields
use explicit block attribute when rendering item_text_block
refactor #toData and #loadData to work with generic form-like data