In #3196 we changed to API to cycle through the condition stack by experiment. The client libraries still maintain a separate stack for each decision point. We should make it consistent with the new API behavior. It should:
- maintain one condition stack per experiment
- rotate the stack when any decision point in the experiment is hit
- only make an assign call when there's no cached condition stack for the experiment
In #3196 we changed to API to cycle through the condition stack by experiment. The client libraries still maintain a separate stack for each decision point. We should make it consistent with the new API behavior. It should: