form need to provide context allowing us to:

- set loading for the whole form
- set disable for the whole form
- validate
- be aware of fields inside form - throw errors on registering unrecognized fields in development on mount
- handle multi step
- handle focus/blur partials submitting

FOCUS ON NESTING!!

FormData HANLDING!!

It MUST handle any error from validation, we should do as many mappers as we can.

```ts
const handleError (error: ZodError, JoiError, YupError, ...etc) => {
  if(zod) {
    ...
  }
  if(yup) {
    ...
  }
  ...
}
```

this way we will handle any validation library
