refactoring form extensions in preparation for weak classes