Reimplement submission with ActiveModel
Add verifications in specs for bad submissions