Annotation-based form builder