function ListView(items) { const container = createDiv('list'); items.forEach(it => { const row = RowView(it, selected => console.log('selected', selected)); container.appendChild(row); }); return container; } Benefit: RowView is reusable and isolated.