Please do not use empty virtual destructors. They inhibit optimizations and are generally a waste of space.