Have a user-defined assignment operator to go with the copy constructor
The compiler warned about user-defined copy constructor but default assignment operator. There was possibly a real bug hiding there.