Make ServiceObject#active_update private so it raises if any subclass uses it
Move proposal validation from active_update to proposal_commit
Add ServiceObject#save_proposal! that validates and saves
Allow creating proposal id from name or id param
Clean proposal hash before validation
Refactor proposal saving & validation into ServiceObject#save_proposal!