Expose external identifier, limit state transitions