docs: public void startDefinition(){
  		sequencer = new Sequencer();
  		states = Maps.synchronizedBiMap(HashBiMap.<S, Integer>create());
  		transitions = new ConcurrentHashMap<DoubleValueBean<S, T>, Transition<S>>();
  		validTransitions = new PutIfAbsentMap<S, Set<T>>(new HashMap<S, Set<T>>(), new MapValueFactory<S, Set<T>>(){
  			@Override
  			public Set<T> createValue(S key) {
  				return Collections.newSetFromMap(new ConcurrentHashMap<T, Boolean>());
  			}
  		});
  	}