Forms w custom validation

Should close #97 and advances macro issue #81.