A general form data binding and validating framework, easy to use and hack