Major refactor all based around creating a "Form" trait with the mixins Confirmation and Approved.
Refactor includes moving files around.