Split form into partials, added controller test

See comment above regarding naming.