use reform 1.2.0.beta2 and take advantage of the Form::schema method to generate a representer from a contract.