Make some destructors virtual to ensure the entire destruction of the object they represent as they are often used in a polymorphic way.