Add init_states
Rename allowed_transition validation to allowed_state