Default Constructor
Copy and swap
Destructor
Implicit Move and Copy
Virtual and Protected Destructors