Add form behavior, validation + error handling, tweak a few other things