Updated with support for proper two-way data binding, en hidden labels