I made them super short because they get used a lot, and I figured this code would be changing a lot in the next while. We should expand them before a release though. But yeah, `self.o` is a mapping from canonical strings to object, `self.a` are aliases (non-canonical strings to objects), `self.p` maps canonical strings to probes, and `self.d` maps canonical strings to probe data (only gets populated after a run).