Some operations our elevator-simulator data structure needs to support:
And these will need to happen fast because there will be a lot of events (button pushes and elevator arrivals) over the course of the simulation.