This is a big function that does many things. Does it have to be a PROPERTY?
Can the elevator not be instantiated in one of two initial states instead?