lot of refactoring, added a form manager to orchestrate the uitextfields' states and a a validator object to abstract the validation process - wip