refactor(forms): use errorStates and warningStates

Closes #736
Closes #706
Fixes #724
chore(tests): remove inject() calls