define form types as service and move logic into a form handler