Refactor forms without using factory functions

Forms now use classes directly.

It's not perfect, but I didn't want to mess around with the views too much.