If you enter a code and it reaches the specified code length `onFulfill` will fire twice sometimes due to unstable state handling. 