Removed the specialist move constructor - as it's not needed - and add a
virtual destructor - for the class hierarchy