refactor(forms): place all shared logic of forms and models into NgControl