StateElement destructor cannot be pure virtual