state pattern for membership_form