Refactor: Created AbstractFormExtension to avoid copied code