experimentation is js state machine