Work in progress. Attempt to further decouple CRM_Volunteer_Form_Volunteer from CiviEvent to enable reusing the class in a contact tab.