I have a vector of pointers to Base.
Base
Invariant: only one of each derived type should be in that vector at any time.
I also want to be able to look