Added virtual destructors to some interfaces to fix issue 3095