Add state transition to candidate and add some type constraints for element type
Merge branch 'feature-add-state-transform-to-candidate'