We need a way register experiments.
I think the reasoning is because there are certain flows where we'd want to provide exclusion or "run_if" logic in the place where we implement the primary experiment, but that needs to be consistently applied at any place where we want to track events for that experiment.
The way we can handle this is by having a registration area for experiments, and this would allow us to define the logic around the experiment, and have that only executed if we need it to be somewhere within the request cycle or background job process.